Skip to content

Commit

Permalink
[1.5.x] Fixed #20243 - Clarified when RelatedManager.remove() exists.
Browse files Browse the repository at this point in the history
Backport of 712a792 from master
  • Loading branch information
timgraham committed Apr 11, 2013
1 parent 9323185 commit 709ee83
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions docs/ref/models/relations.txt
Expand Up @@ -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()

Expand Down

0 comments on commit 709ee83

Please sign in to comment.