#34267: Error with Union queryset not being paginable
-----------------------------------------+------------------------
               Reporter:  rphlo          |          Owner:  nobody
                   Type:  Bug            |         Status:  new
              Component:  Uncategorized  |        Version:  4.2
               Severity:  Normal         |       Keywords:
           Triage Stage:  Unreviewed     |      Has patch:  0
    Needs documentation:  0              |    Needs tests:  0
Patch needs improvement:  0              |  Easy pickings:  0
                  UI/UX:  0              |
-----------------------------------------+------------------------
 I tried 4.2a1 today on my project and I noticed pagination was broken on
 one view.

 After little investigation I manage to reproduce an error:

 `Event` is a model with `set` a Foreignkey
 {{{
 >> events = Event.objects.all()
 >> events_without_set = events.filter(set__isnull=True)
 >> one_event_of_each_set = (
         events.filter(set__isnull=False)
                .order_by("set_id")
                .distinct("set_id")
 )
 >> my_list = events_without_set.union(one_event_of_each_set)
 >> my_list.count()
 212
 >> my_list[2]
 Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "/venv/lib/python3.11/site-packages/django/db/models/query.py",
 line 450, in __getitem__
     return qs._result_cache[0]
            ~~~~~~~~~~~~~~~~^^^
 IndexError: list index out of range
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34267>
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/01070185c0877136-24e32fe0-6568-4cbe-8088-904e0614bf07-000000%40eu-central-1.amazonses.com.

Reply via email to