Tobias Kunze
769f87fd24
[2.2.x] Fixed #26678 -- Doc'd that RelatedManager.add()/remove()/set() accepts the field the relation points to.
...
Backport of a44a21a22f
from master
2019-05-07 12:58:55 +02:00
Mariusz Felisiak
e8de1cc94c
[2.2.x] Fixed #30325 -- Reverted "Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on a many-to-many relation."
...
This reverts commit 1299421cad
due to
a regression with custom managers.
Backport of 5f7991c42c
from master
2019-04-15 12:39:42 +02:00
Simon Charette
dbcf2ffa77
Refs #9475 -- Simplified dictionary unpacking.
2019-01-16 09:20:15 -05:00
Nick Pope
d212bc03ba
Refs #9475 -- Fixed typo, used unpacking generalization, and made through_defaults kwarg-only.
2019-01-15 13:03:08 -05:00
Collin Anderson
769355c765
Fixed #9475 -- Allowed RelatedManager.add(), create(), etc. for m2m with a through model.
2019-01-15 11:12:17 -05:00
Simon Charette
0cf85e6b07
Refs #29908 -- Optimized known related objects assignment.
...
Since CPython implements a C level attrgetter(*attrs) it even outperforms the
most common case of a single known related object since the resulting attribute
values tuple is built in C.
2018-11-17 18:56:11 -05:00
Simon Charette
75dfa92a05
Fixed #29908 -- Fixed setting of foreign key after related set access if ForeignKey uses to_field.
...
Adjusted known related objects handling of target fields which relies on
from and to_fields and has the side effect of fixing a bug bug causing
N+1 queries when using reverse foreign objects.
Thanks Carsten Fuchs for the report.
2018-11-08 19:51:15 -05:00
oliver
1299421cad
Fixed #29725 -- Removed unnecessary join in QuerySet.count() and exists() on a many-to-many relation.
2018-10-15 11:01:57 -04:00
Alexandr Tatarinov
7410618528
Fixed #29447 -- Made RelatedManager.set() pass bulk argument to clear().
2018-06-25 13:04:46 -04:00
Paulo
265506bbc3
Refs #28834 -- Moved ancestor field cached value fallback to related fields descriptor.
2018-05-14 21:17:02 -04:00
Stefan R. Filipek
a5a2ceeb45
Fixed #27629 -- Added router.allow_relation() calls for assignments between unsaved model instances.
2018-05-10 20:42:44 -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
Mike Hansen
514b2c989a
Fixed #28723 -- Fixed RelatedManager's prefetch_related() cache name.
2017-11-02 10:06:00 -04:00
Paulo
fcfcf8aae4
Fixed #28742 -- Fixed AttributeError crash when assigning None to cached reverse relations.
2017-10-30 14:02:03 -04:00
Simon Charette
d4fb742094
Refs #28575 -- Made RelatedObjectDoesNotExist classes pickable.
...
Thanks to Rachel Tobin for the initial __qualname__ work and tests.
2017-10-18 21:43:53 -04:00
Simon Charette
0a69479b6c
Fixed outdated comment in RelatedObjectDoesNotExist.
2017-10-18 20:31:47 -04:00
Simon Charette
9dd405973c
Corrected examples in related field descriptor docstrings.
...
Using lowercased model class names suggested that accessing the attribute
from instances of the class returned an instance of the descriptor, but
this is only the case when accessed from the model class.
2017-10-13 16:06:08 -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
Paulo
bfb746f983
Refs #16043 -- Refactored internal fields value cache.
...
* Removed all hardcoded logic for _{fieldname}_cache.
* Added an internal API for interacting with the field values cache.
Thanks carljm and MarkusH for support.
2017-08-10 12:06:02 -04:00
Sergey Fedoseev
38988f289f
Avoided creation of temporary sets.
2017-07-29 10:16:43 -04:00
Paulo Alvarado
c432927160
Fixed #26362 -- Fixed update of the inherited id field of an object when its parent changes.
2017-06-26 12:11:20 -04:00
Tim Graham
5a52d932ef
Replaced Model._get_pk_val() with pk property.
...
Model.pk was added after _get_pk_val() and many places weren't simplified.
2017-06-05 15:20:34 -04:00
Jon Dufresne
2c69824e5a
Refs #23968 -- Removed unnecessary lists, generators, and tuple calls.
2017-06-01 19:08:59 -04:00
Tim Graham
59ab1b2683
Fixed #28210 -- Fixed Model._state.adding on MTI parent model after saving child model.
...
Regression in 38575b007a
.
2017-05-19 13:22:17 -04:00
Tim Graham
584e10c76e
Fixed #28166 -- Fixed Model._state.db on MTI parent model after saving child model.
...
Regression in 38575b007a
.
2017-05-03 12:14:15 -04:00
Vytis Banaitis
8838d4dd49
Refs #23919 -- Replaced kwargs.pop() with keyword-only arguments.
2017-02-01 11:41:56 -05:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Simon Charette
9695b14982
Refs #23919 -- Removed str() conversion of type and method __name__.
2017-01-19 11:31:07 -05:00
Simon Charette
cecc079168
Refs #23919 -- Stopped inheriting from object to define new style classes.
2017-01-19 08:39:46 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
Tim Graham
631f4ab061
Removed Manager.use_for_related_fields and Meta.manager_inheritance_from_future.
...
Per deprecation timeline. Refs ed0ff913c6
.
2017-01-17 20:52:04 -05:00
Tim Graham
ed251246cc
Refs #25550 -- Removed support for direct assignment to the reverse side of a related set.
2017-01-17 20:52:01 -05:00
Andrey Kuzminov
b8741c0058
Refs #18823 -- Corrected field name in an m2m manager error message.
2016-12-23 09:31:26 -05:00
InvalidInterrupt
98359109eb
Fixed #17002 -- Allowed using a ManyToManyField through model that inherits another.
2016-12-07 17:50:51 -05:00
Yoong Kang Lim
d30febb4e5
Fixed #26706 -- Made RelatedManager modification methods clear prefetch_related() cache.
2016-08-05 13:32:27 -04:00
Tim Graham
5fa4370543
Refs #25550 -- Corrected deprecation message for assigning M2M relations.
2016-07-30 20:50:09 -04:00
Julien Hartmann
f4afb85d7e
Fixed #26749 -- Preserved behavior of use_for_related_field during deprecation.
2016-07-11 13:30:44 -04:00
Tim Graham
908c26b079
Fixed typos in db/models/fields/related_descriptors.py
2016-06-07 08:53:05 -04:00
Paulo
1a2a7cc01e
Fixed typo in db/models/fields/related_descriptors.py
2016-06-07 08:50:06 -04:00
Paulo
3e9f769fd1
Refs #15250 -- Added docstring for ForwardOneToOneDescriptor.
2016-06-07 07:22:32 -04:00
Paulo
38575b007a
Fixed #15250 -- Avoided extra query on some multi-table inheritance queries.
...
Thanks marekw2143 for the initial patch and carljm for support.
2016-06-03 10:18:24 -04:00
Loïc Bistuer
ed0ff913c6
Fixed #10506 , #13793 , #14891 , #25201 -- Introduced new APIs to specify models' default and base managers.
...
This deprecates use_for_related_fields.
Old API:
class CustomManager(models.Model):
use_for_related_fields = True
class Model(models.Model):
custom_manager = CustomManager()
New API:
class Model(models.Model):
custom_manager = CustomManager()
class Meta:
base_manager_name = 'custom_manager'
Refs #20932 , #25897 .
Thanks Carl Meyer for the guidance throughout this work.
Thanks Tim Graham for writing the docs.
2016-05-17 12:07:22 +07:00
Ville Skyttä
575a9a791e
Normalized "an SQL" spelling.
2016-05-03 19:30:48 -04:00
Tim Graham
df8d8d4292
Fixed E128 flake8 warnings in django/.
2016-04-08 09:51:06 -04:00
Simon Charette
c92123cc1d
Fixed #26226 -- Made related managers honor the queryset used for prefetching their results.
...
Thanks Loïc for the suggested improvements and Tim for the review.
2016-03-02 16:10:18 -05:00
ZachLiuGIS
04e13c8913
Fixed #26179 -- Removed null assignment check for non-nullable foreign key fields.
2016-02-11 10:07:39 -05:00
Anssi Kääriäinen
353aecbf8c
Fixed #26153 -- Reallowed Q-objects in ForeignObject.get_extra_descriptor_filter().
2016-02-11 08:59:43 -05:00
userimack
60586dd737
Fixed #26125 -- Fixed E731 flake warnings.
2016-01-25 14:23:43 -05:00
Tim Graham
9c5e272860
Fixed #25550 -- Deprecated direct assignment to the reverse side of a related set.
2015-10-27 07:57:15 -04:00
Tim Graham
0b5d32faca
Fixed #25611 -- Standardized descriptor signatures.
2015-10-26 11:31:16 -04:00