diff options
| author | Tim Graham <timograham@gmail.com> | 2016-07-30 20:50:09 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-30 20:50:09 -0400 |
| commit | 5fa4370543658aedd79dc554d8c52684d6c7cbca (patch) | |
| tree | 719003137fd14f586e417e7ceb5651736265ba03 /django | |
| parent | 4e861682904744b0ea3ead8552513c6f1a826c5a (diff) | |
Refs #25550 -- Corrected deprecation message for assigning M2M relations.
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/models/fields/related_descriptors.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/django/db/models/fields/related_descriptors.py b/django/db/models/fields/related_descriptors.py index de36d4a8e5..4ced1f2c40 100644 --- a/django/db/models/fields/related_descriptors.py +++ b/django/db/models/fields/related_descriptors.py @@ -509,6 +509,12 @@ class ReverseManyToOneDescriptor(object): return self.related_manager_cls(instance) + def _get_set_deprecation_msg_params(self): + return ( # RemovedInDjango20Warning + 'reverse side of a related set', + self.rel.get_accessor_name(), + ) + def __set__(self, instance, value): """ Set the related objects through the reverse relation. @@ -520,9 +526,9 @@ class ReverseManyToOneDescriptor(object): - ``value`` is the ``children`` sequence on the right of the equal sign """ warnings.warn( - 'Direct assignment to the reverse side of a related set is ' - 'deprecated due to the implicit save() that happens. Use %s.set() ' - 'instead.' % self.rel.get_accessor_name(), RemovedInDjango20Warning, stacklevel=2, + 'Direct assignment to the %s is deprecated due to the implicit ' + 'save() that happens. Use %s.set() instead.' % self._get_set_deprecation_msg_params(), + RemovedInDjango20Warning, stacklevel=2, ) manager = self.__get__(instance) manager.set(value) @@ -757,6 +763,12 @@ class ManyToManyDescriptor(ReverseManyToOneDescriptor): reverse=self.reverse, ) + def _get_set_deprecation_msg_params(self): + return ( # RemovedInDjango20Warning + '%s side of a many-to-many set' % ('reverse' if self.reverse else 'forward'), + self.rel.get_accessor_name() if self.reverse else self.field.name, + ) + def create_forward_many_to_many_manager(superclass, rel, reverse): """ |
