#33945: get_previous_in_order and get_next_in_order return incorrect data when
objects is stored in non-default database
-------------------------------------+-------------------------------------
               Reporter:  François   |          Owner:  nobody
  Granade                            |
                   Type:  Bug        |         Status:  new
              Component:  Database   |        Version:  4.0
  layer (models, ORM)                |
               Severity:  Normal     |       Keywords:
           Triage Stage:             |      Has patch:  0
  Unreviewed                         |
    Needs documentation:  0          |    Needs tests:  0
Patch needs improvement:  0          |  Easy pickings:  0
                  UI/UX:  0          |
-------------------------------------+-------------------------------------
 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.
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/33945>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/01070182c18ecd5d-f0d5641d-9e80-4cc4-aba5-bb242f0dcab7-000000%40eu-central-1.amazonses.com.

Reply via email to