Fixed #20243 - Clarified when RelatedManager.remove() exists.

This commit is contained in:
Tim Graham 2013-04-11 14:13:09 -04:00
parent 9a62fc3f93
commit 712a792713
1 changed files with 7 additions and 8 deletions

View File

@ -82,14 +82,13 @@ Related objects reference
>>> e = Entry.objects.get(id=234)
>>> b.entry_set.remove(e) # Disassociates Entry e from Blog b.
In order to prevent database inconsistency, this method only exists on
:class:`~django.db.models.ForeignKey` objects where ``null=True``. If
the related field can't be set to ``None`` (``NULL``), then an object
can't be removed from a relation without being added to another. In the
above example, removing ``e`` from ``b.entry_set()`` is equivalent to
doing ``e.blog = None``, and because the ``blog``
:class:`~django.db.models.ForeignKey` doesn't have ``null=True``, this
is invalid.
For :class:`~django.db.models.ForeignKey` objects, this method only
exists if ``null=True``. If the related field can't be set to ``None``
(``NULL``), then an object can't be removed from a relation without
being added to another. In the above example, removing ``e`` from
``b.entry_set()`` is equivalent to doing ``e.blog = None``, and because
the ``blog`` :class:`~django.db.models.ForeignKey` doesn't have
``null=True``, this is invalid.
.. method:: clear()