﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
33945	get_previous_in_order and get_next_in_order return incorrect data when objects is stored in non-default database	François Granade	Aryan Amish	"
Using the a simple model with an `order_with_respect_to` (slight variation of the models in https://github.com/django/django/blob/main/tests/multiple_database/models.py):

{{{
class Person(models.Model):
    name = models.CharField(max_length=100, unique=True)


class Pet(models.Model):
    name = models.CharField(max_length=100)
    owner = models.ForeignKey(Person, models.CASCADE)

    class Meta:
        order_with_respect_to = ""owner""
       
}}}

then adding some object, and declaring an order for the pets:

{{{
 human = Person.objects.using(""other"").create(name=""Human"")
        dog = Pet.objects.using(""other"").create(name=""Dog"", owner=human)
        cat = Pet.objects.using(""other"").create(name=""Cat"", owner=human)
        duck = Pet.objects.using(""other"").create(name=""Duck"", owner=human)
        human.set_pet_order([duck.pk, dog.pk, cat.pk], ""other"")
       
}}}

Then simply trying to get the previous or next pet will fail:

{{{
>>> dog.get_next_in_order()  # would expect `cat`
models.Pet.DoesNotExist: Pet matching query does not exist.
>>> dog.get_previous_in_order()  # would expect `duck`
models.Pet.DoesNotExist: Pet matching query does not exist.       
}}}
"	Bug	assigned	Database layer (models, ORM)	4.0	Normal			Wael Ramadan	Accepted	0	0	0	0	0	0
