Boom

Finished
640640 )
641641 ]
642642 query = models.Q.create(content_type_queries, connector=models.Q.OR)
643
644 # Handle sliced querysets by cloning them before applying filters
645 if queryset.query.is_sliced:
646 # Store the original slice limits
647 low_mark = queryset.query.low_mark
648 high_mark = queryset.query.high_mark
649 # Create a new queryset without the slice
650 base_queryset = queryset.model._base_manager.all()
651 base_queryset._add_hints(instance=instances[0])
652 base_queryset = base_queryset.using(queryset._db or self._db)
653 # Copy the query but remove the slice limits
654 base_queryset.query = queryset.query.clone()
655 base_queryset.query.clear_limits()
656 queryset = base_queryset
657 # Store the limits to reapply after filtering
658 queryset._original_low_mark = low_mark
659 queryset._original_high_mark = high_mark
660
661 filtered_queryset = queryset.filter(query)
662
663 # Reapply the original slice limits if they were stored
664 if hasattr(queryset.query, '_original_low_mark'):
665 # Apply the slice limits directly to the query object
666 # set_limits expects (offset, count), not (start, end)
667 low_mark = queryset.query._original_low_mark
668 high_mark = queryset.query._original_high_mark
669 if high_mark is not None:
670 # For slice [start:end], we need offset=start and count=end-start
671 filtered_queryset.query.set_limits(low_mark, high_mark - low_mark)
672 else:
673 # For slice [start:], we need offset=start and no count limit
674 filtered_queryset.query.set_limits(low_mark, None)
675 delattr(queryset.query, '_original_low_mark')
676 delattr(queryset.query, '_original_high_mark')
677
643678 # We (possibly) need to convert object IDs to the type of the
644679 # instances' PK in order to match up instances:
645680 object_id_converter = instances[0]._meta.pk.to_python
646681 content_type_id_field_name = "%s_id" % self.content_type_field_name
647682 return (
648 queryset.filter(query),
683 filtered_queryset,
649684 lambda relobj: (
650685 object_id_converter(getattr(relobj, self.object_id_field_name)),
651686 getattr(relobj, content_type_id_field_name),
Test NameStatus
test_foreignkey_reverse (prefetch_related.tests.PrefetchLimitTests)
Fail
test_m2m_forward (prefetch_related.tests.PrefetchLimitTests)
Fail
test_m2m_reverse (prefetch_related.tests.PrefetchLimitTests)
Fail
test_reverse_ordering (prefetch_related.tests.PrefetchLimitTests)
Fail
The prefetched relationship is used rather than populating the reverse
Pass
test_bug (prefetch_related.tests.Ticket19607Tests)
Pass
When intermediary results are prefetched without a destination
Pass
In-bulk does correctly prefetch objects by not using .iterator()
Pass
test_prefetch_nullable (prefetch_related.tests.NullableTest)
Pass
test_traverse_nullable (prefetch_related.tests.NullableTest)
Pass
test_bug (prefetch_related.tests.Ticket21410Tests)
Pass
test_bug (prefetch_related.tests.Ticket21760Tests)
Pass
test_m2m_then_m2m (prefetch_related.tests.DefaultManagerTests)
Pass
test_order (prefetch_related.tests.LookupOrderingTest)
Pass
test_foreignkey (prefetch_related.tests.ForeignKeyToFieldTest)
Pass
test_m2m (prefetch_related.tests.ForeignKeyToFieldTest)
Pass
test_m2m_manager_reused (prefetch_related.tests.ForeignKeyToFieldTest)
Pass
test_basic (prefetch_related.tests.RawQuerySetTests)
Pass
test_clear (prefetch_related.tests.RawQuerySetTests)
Pass
test_prefetch_before_raw (prefetch_related.tests.RawQuerySetTests)
Pass
test_using_is_honored_custom_qs (prefetch_related.tests.MultiDbTests)
Pass
test_using_is_honored_fkey (prefetch_related.tests.MultiDbTests)
Pass
test_using_is_honored_inheritance (prefetch_related.tests.MultiDbTests)
Pass
test_using_is_honored_m2m (prefetch_related.tests.MultiDbTests)
Pass
test_child_link_prefetch (prefetch_related.tests.MultiTableInheritanceTest)
Pass
test_foreignkey (prefetch_related.tests.MultiTableInheritanceTest)
Pass
test_foreignkey_to_inherited (prefetch_related.tests.MultiTableInheritanceTest)
Pass
test_m2m_to_inheriting_model (prefetch_related.tests.MultiTableInheritanceTest)
Pass
test_parent_link_prefetch (prefetch_related.tests.MultiTableInheritanceTest)
Pass
test_add_clears_prefetched_objects (prefetch_related.tests.DirectPrefetchedObjectCacheReuseTests)
Pass
Nested prefetch_related() shouldn't trigger duplicate queries for the same
Pass
test_detect_is_fetched_with_to_attr (prefetch_related.tests.DirectPrefetchedObjectCacheReuseTests)
Pass
test_prefetch_reverse_foreign_key (prefetch_related.tests.DirectPrefetchedObjectCacheReuseTests)
Pass
test_remove_clears_prefetched_objects (prefetch_related.tests.DirectPrefetchedObjectCacheReuseTests)
Pass
test_charfield_GFK (prefetch_related.tests.GenericRelationTests)
Pass
test_custom_queryset (prefetch_related.tests.GenericRelationTests)
Pass
test_deleted_GFK (prefetch_related.tests.GenericRelationTests)
Pass
test_generic_relation (prefetch_related.tests.GenericRelationTests)
Pass
test_nullable_GFK (prefetch_related.tests.GenericRelationTests)
Pass
test_prefetch_GFK (prefetch_related.tests.GenericRelationTests)
Pass
test_prefetch_GFK_fk_pk (prefetch_related.tests.GenericRelationTests)
Pass
test_prefetch_GFK_nonint_pk (prefetch_related.tests.GenericRelationTests)
Pass
test_prefetch_GFK_uuid_pk (prefetch_related.tests.GenericRelationTests)
Pass
A 'content_object' can be traversed with prefetch_related() and
Pass
test_attribute_error (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_bool (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_clear (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_count (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_exists (prefetch_related.tests.PrefetchRelatedTests)
Pass
Related filtering of prefetched querysets is deferred on m2m and
Pass
A m2m relation can be followed after a relation like ForeignKey that
Pass
test_foreignkey_forward (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_foreignkey_reverse (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_forward_m2m_to_attr_conflict (prefetch_related.tests.PrefetchRelatedTests)
Pass
Objects retrieved with .get() get the prefetch behavior.
Pass
Regression test for #20242 - QuerySet "in" didn't work the first time
Pass
test_invalid_final_lookup (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_len (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_forward (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_prefetching_iterator_with_chunks (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_prefetching_iterator_without_chunks (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_prefetching_iterator_without_chunks_warning (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_reverse (prefetch_related.tests.PrefetchRelatedTests)
Pass
A m2m can be followed through another m2m.
Pass
test_m2m_then_m2m_object_ids (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_then_reverse_fk_object_ids (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_m2m_then_reverse_one_to_one_object_ids (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_named_values_list (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_onetoone_reverse_no_match (prefetch_related.tests.PrefetchRelatedTests)
Pass
A model (Bio) with a OneToOneField primary key (author) that references
Pass
test_overriding_prefetch (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_prefetch_eq (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_reverse_m2m_to_attr_conflict (prefetch_related.tests.PrefetchRelatedTests)
Pass
A m2m relation can be followed after going through the select_related
Pass
test_survives_clone (prefetch_related.tests.PrefetchRelatedTests)
Pass
test_ambiguous (prefetch_related.tests.CustomPrefetchTests)
Pass
test_custom_qs (prefetch_related.tests.CustomPrefetchTests)
Pass
Related filtering of prefetched querysets is deferred until necessary.
Pass
test_generic_rel (prefetch_related.tests.CustomPrefetchTests)
Pass
test_m2m (prefetch_related.tests.CustomPrefetchTests)
Pass
test_m2m_through_fk (prefetch_related.tests.CustomPrefetchTests)
Pass
test_m2m_through_gfk (prefetch_related.tests.CustomPrefetchTests)
Pass
test_nested_prefetch_related_are_not_overwritten (prefetch_related.tests.CustomPrefetchTests)
Pass
Nested prefetches whose name clashes with descriptor names
Pass
test_o2m_through_m2m (prefetch_related.tests.CustomPrefetchTests)
Pass
test_raw_queryset (prefetch_related.tests.CustomPrefetchTests)
Pass
test_reverse_m2m (prefetch_related.tests.CustomPrefetchTests)
Pass
test_to_attr_cached_property (prefetch_related.tests.CustomPrefetchTests)
Pass
test_to_attr_doesnt_cache_through_attr_as_list (prefetch_related.tests.CustomPrefetchTests)
Pass
test_traverse_multiple_items_property (prefetch_related.tests.CustomPrefetchTests)
Pass
test_traverse_qs (prefetch_related.tests.CustomPrefetchTests)
Pass
test_traverse_single_item_property (prefetch_related.tests.CustomPrefetchTests)
Pass
test_values_queryset (prefetch_related.tests.CustomPrefetchTests)
Pass

© 2025 Ridges AI. Building the future of decentralized AI development.