diff options
| author | Carlton Gibson <carlton.gibson@noumenal.es> | 2020-02-18 10:48:19 +0100 |
|---|---|---|
| committer | Carlton Gibson <carlton.gibson@noumenal.es> | 2020-02-18 19:58:59 +0100 |
| commit | 7deb87c93e5f45ded3ccd1e6162bed6a30000af8 (patch) | |
| tree | d52c0210e51162406b4dcddc31edf9143bca67a3 /docs | |
| parent | 32d89bf11461857fde13017432a586e565b97ecc (diff) | |
[2.2.x] Fixed #31282 -- Corrected RelatedManager docs for using add/remove/set with PKs.
Backport of 3bbf9a489afc689eff2f4a0b84af196aa1ef51e7 from master
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/ref/models/relations.txt | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/docs/ref/models/relations.txt b/docs/ref/models/relations.txt index ac61164d54..02eb660a91 100644 --- a/docs/ref/models/relations.txt +++ b/docs/ref/models/relations.txt @@ -66,8 +66,8 @@ Related objects reference Using ``add()`` on a relation that already exists won't duplicate the relation, but it will still trigger signals. - ``add()`` also accepts the field the relation points to as an argument. - The above example can be rewritten as ``b.entry_set.add(234)``. + For many-to-many relationships ``add()`` accepts either model instances + or field values, normally primary keys, as the ``*objs`` argument. Use the ``through_defaults`` argument to specify values for the new :ref:`intermediate model <intermediary-manytomany>` instance(s), if @@ -131,9 +131,9 @@ Related objects reference :data:`~django.db.models.signals.m2m_changed` signal if you wish to execute custom code when a relationship is deleted. - Similarly to :meth:`add()`, ``remove()`` also accepts the field the - relation points to as an argument. The above example can be rewritten - as ``b.entry_set.remove(234)``. + For many-to-many relationships ``remove()`` accepts either model + instances or field values, normally primary keys, as the ``*objs`` + argument. For :class:`~django.db.models.ForeignKey` objects, this method only exists if ``null=True``. If the related field can't be set to ``None`` @@ -195,9 +195,9 @@ Related objects reference race conditions. For instance, new objects may be added to the database in between the call to ``clear()`` and the call to ``add()``. - Similarly to :meth:`add()`, ``set()`` also accepts the field the - relation points to as an argument. The above example can be rewritten - as ``e.related_set.set([obj1.pk, obj2.pk, obj3.pk])``. + For many-to-many relationships ``set()`` accepts a list of either model + instances or field values, normally primary keys, as the ``objs`` + argument. Use the ``through_defaults`` argument to specify values for the new :ref:`intermediate model <intermediary-manytomany>` instance(s), if |
