Mariusz Felisiak
5e0aa362d9
Fixed #33984 -- Reverted "Fixed #32980 -- Made models cache related managers."
...
This reverts 4f8c7fd9d9
and adds
two regression tests:
- test_related_manager_refresh(), and
- test_create_copy_with_m2m().
Thanks joeli for the report.
2022-09-30 18:18:33 +02:00
Mariusz Felisiak
69fa2e8eb2
Refs #26780 -- Made prefetch_related() don't use window expressions fo sliced queries if not supported.
2022-09-06 05:54:35 +02:00
Simon Charette
242499f2dc
Fixed #26780 -- Added prefetch_related() support for sliced queries.
...
This was made possible by window function filtering support added in
f387d024fc
.
2022-08-15 10:25:20 +02:00
Mariusz Felisiak
1760ad4e8c
Relaxed some query ordering assertions in various tests.
...
It accounts for differences seen on MySQL with MyISAM storage engine.
2022-04-14 12:12:13 +02:00
Nick Pope
847f46e9bf
Removed redundant QuerySet.all() calls in docs and tests.
...
Most QuerySet methods are mapped onto the Manager and, in general,
it isn't necessary to call .all() on the manager.
2022-02-22 10:29:38 +01:00
Mariusz Felisiak
7119f40c98
Refs #33476 -- Refactored code to strictly match 88 characters line length.
2022-02-07 20:37:05 +01:00
django-bot
9c19aff7c7
Refs #33476 -- Reformatted code with Black.
2022-02-07 20:37:05 +01:00
Mariusz Felisiak
c5cd878382
Refs #33476 -- Refactored problematic code before reformatting by Black.
...
In these cases Black produces unexpected results, e.g.
def make_random_password(
self,
length=10,
allowed_chars='abcdefghjkmnpqrstuvwxyz' 'ABCDEFGHJKLMNPQRSTUVWXYZ' '23456789',
):
or
cursor.execute("""
SELECT ...
""",
[table name],
)
2022-02-03 11:20:46 +01:00
Jacob Walls
edbf930287
Fixed #29984 -- Added QuerySet.iterator() support for prefetching related objects.
...
Co-authored-by: Raphael Kimmig <raphael.kimmig@ampad.de>
Co-authored-by: Simon Charette <charette.s@gmail.com>
2022-01-25 06:12:04 +01:00
Jamie Matthews
f5233dce30
Fixed #32511 -- Corrected handling prefetched nested reverse relationships.
...
When prefetching a set of child objects related to a set of parent
objects, we usually want to populate the relationship back from the
child to the parent to avoid a query when accessing that relationship
attribute. However, there's an edge case where the child queryset
itself specifies a prefetch back to the parent. In that case, we want
to use the prefetched relationship rather than populating the reverse
relationship from the parent.
2022-01-05 09:49:05 +01:00
Keryn Knight
4f8c7fd9d9
Fixed #32980 -- Made models cache related managers.
2021-11-08 08:44:12 +01:00
Martin Svoboda
cc4cb95bef
Fixed #33008 -- Fixed prefetch_related() for deleted GenericForeignKeys.
...
Thanks Simon Charette for the implementation idea.
2021-10-14 12:37:03 +02:00
Takayuki Hirayama
0393b9262d
Fixed #32812 -- Restored immutability of named values from QuerySet.values_list().
...
Regression in 981a072dd4
.
Thanks pirelle for the report.
2021-06-04 07:23:16 +02:00
Alexey Nigin
b9ba85a7ce
Fixed #32089 -- Fixed prefetch_related_objects() when some objects are already fetched.
...
Thanks Dennis Kliban for the report and Adam Johnson for the initial
patch.
Co-authored-by: Adam Johnson <me@adamj.eu>
2020-12-16 10:52:59 +01:00
Hasan Ramezani
3f7b327562
Fixed #31235 -- Made assertQuerysetEqual() compare querysets directly.
...
This also replaces assertQuerysetEqual() to
assertSequenceEqual()/assertCountEqual() where appropriate.
Co-authored-by: Peter Inglesby <peter.inglesby@gmail.com>
Co-authored-by: Mariusz Felisiak <felisiak.mariusz@gmail.com>
2020-11-06 09:24:50 +01:00
Bob Renwick
036f160733
Refs #20577 -- Deferred filtering of prefetched related querysets by reverse m2o relation.
2020-10-06 21:19:56 +02:00
Simon Charette
94f63b926f
Refs #31395 -- Relied on setUpTestData() test data isolation in various tests.
2020-05-15 20:22:56 +02:00
Mariusz Felisiak
555e3a848e
Removed unused __str__() methods in tests models.
...
Follow up to 6461583b6c
.
2020-04-30 09:13:23 +02:00
Nick Pope
335c9c94ac
Simplified imports from django.db and django.contrib.gis.db.
2020-02-04 13:20:06 +01:00
Mariusz Felisiak
d6505273cd
Refs #31044 -- Fixed error message when using Prefetch with a values_list() queryset.
2019-12-09 15:45:53 +01:00
Hasan Ramezani
4540842bc3
Fixed #31044 -- Errored nicely when using Prefetch with a raw() queryset.
2019-12-09 15:45:18 +01:00
Alex Aktsipetrov
681f7e2b13
Fixed #20577 -- Deferred filtering of prefetched related querysets.
...
Added internal interface to QuerySet that allows to defer next filter
call till .query is accessed. Used it to optimize prefetch_related().
Thanks Simon Charette for the review.
2019-10-21 13:21:54 +02:00
ElizabethU
54ea290e5b
Fixed #30651 -- Made __eq__() methods return NotImplemented for not implemented comparisons.
...
Changed __eq__ to return NotImplemented instead of False if compared to
an object of the same type, as is recommended by the Python data model
reference. Now these models can be compared to ANY (or other objects
with __eq__ overwritten) without returning False automatically.
2019-10-01 17:58:19 +02:00
Mariusz Felisiak
6475e6318c
Refs #30651 -- Added tests for Prefetch.__eq__().
2019-10-01 17:35:55 +02:00
Tim Gates
6b402b28b3
Fixed typo in tests/prefetch_related/tests.py comment.
2019-08-26 08:14:29 +02:00
Min ho Kim
7bd9633320
Fixed typos in test names and a comment.
2019-08-23 10:46:43 +02:00
Iain Watts
59ffafa1d2
Fixed #30482 -- Prevented unnecessary evaluation of lookup.queryset in prefetch_related_objects().
2019-05-16 21:39:55 +02:00
Vinny Do
a4055adf70
Fixed #30368 -- Fixed prefetch_related() for GenericForeignKey when PK is also a FK.
2019-04-16 09:49:16 +02:00
Mariusz Felisiak
1afbc96a75
Fixed #30343 -- Fixed prefetch_related() for GenericForeignKey when PK of related field is UUIDField.
2019-04-14 10:02:59 +02:00
Simon Charette
8c775391b7
Refs #28478 -- Deprecated TestCase's allow_database_queries and multi_db in favor of databases.
2019-01-10 19:11:21 -05:00
Matt Wiens
e817ae74da
Followed style guide for model attribute ordering.
2018-12-27 19:34:14 -05:00
Paulo
6104875a2c
Fixed #29230 -- Fixed nested prefetches that clash with descriptors.
2018-05-27 21:45:51 -04:00
Adnan Umer
534d8d875e
Fixed #28600 -- Added prefetch_related() support to RawQuerySet.
2018-04-19 13:48:27 -04:00
Jon Dufresne
8b21878357
Refs #28723 -- Fixed stale prefetch_related cache after add/remove.
...
Regression in 514b2c989a
.
2018-02-05 11:02:57 -05:00
Jon Dufresne
f0658ff818
Made prefetch_related tests use assertCountEqual() for unordered sequences.
2018-02-05 10:00:57 -05:00
Mike Hansen
514b2c989a
Fixed #28723 -- Fixed RelatedManager's prefetch_related() cache name.
2017-11-02 10:06:00 -04:00
Paulo
fea9cb46aa
Fixed #28375 -- Fixed KeyError crash on reverse prefetch of a model with OneToOneField primary key to a non-pk field.
2017-08-21 16:14:13 -04:00
Mads Jensen
a51c4de194
Used assertRaisesMessage() to test Django's error messages.
2017-07-29 19:07:23 -04:00
Jon Dufresne
2c69824e5a
Refs #23968 -- Removed unnecessary lists, generators, and tuple calls.
2017-06-01 19:08:59 -04:00
Tim Graham
cde31daf88
Sorted imports per isort 4.2.9.
2017-06-01 13:23:48 -04:00
François Freitag
ec05ff086c
Refs #25546 -- Added detailed comments for prefetch_related test.
2017-05-04 09:19:54 -04:00
François Freitag
c0a2b9508a
Fixed #27554 -- Fixed prefetch_related() crash when fetching relations in nested Prefetches.
2017-05-04 09:17:29 -04:00
Claude Paroz
43b4a1618e
Fixed #28096 -- Allowed prefetch calls with ModelIterable subclasses
...
Regression in 7ec330eeb9
.
Thanks Tim Graham for the review.
2017-04-19 19:32:46 +02:00
Tim Graham
6b4f018b2b
Replaced type-specific assertions with assertEqual().
...
Python docs say, "it's usually not necessary to invoke these methods directly."
2017-03-17 07:51:48 -04:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Claude Paroz
2366100872
Removed unneeded force_text calls in the test suite
2017-01-24 18:45:54 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
f3c43ad1fd
Refs #23919 -- Removed python_2_unicode_compatible decorator usage
2017-01-18 13:44:34 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Tim Graham
b70094f040
Refs #26226 -- Removed support for related manager classes without a _apply_rel_filters() method.
...
Per deprecation timeline.
2017-01-17 20:52:03 -05:00