Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #10913 -- Documented how related_name affects QuerySet filtering

Thanks neithere for the suggestion.
  • Loading branch information...
commit 75bb6ba96660e2a06e18d99120c05db2bb9fa9cc 1 parent e1b7723
@timgraham timgraham authored
Showing with 13 additions and 10 deletions.
  1. +5 −4 docs/ref/models/fields.txt
  2. +8 −6 docs/topics/db/queries.txt
View
9 docs/ref/models/fields.txt
@@ -1078,10 +1078,11 @@ define the details of how the relation works.
.. attribute:: ForeignKey.related_name
The name to use for the relation from the related object back to this one.
- See the :ref:`related objects documentation <backwards-related-objects>` for
- a full explanation and example. Note that you must set this value
- when defining relations on :ref:`abstract models
- <abstract-base-classes>`; and when you do so
+ It's also the default value for :attr:`related_query_name` (the name to use
+ for the reverse filter name from the target model). See the :ref:`related
+ objects documentation <backwards-related-objects>` for a full explanation
+ and example. Note that you must set this value when defining relations on
+ :ref:`abstract models <abstract-base-classes>`; and when you do so
:ref:`some special syntax <abstract-related-name>` is available.
If you'd prefer Django not to create a backwards relation, set
View
14 docs/topics/db/queries.txt
@@ -1124,8 +1124,9 @@ Example::
>>> b.entry_set.filter(headline__contains='Lennon')
>>> b.entry_set.count()
-You can override the ``FOO_set`` name by setting the ``related_name``
-parameter in the ``ForeignKey()`` definition. For example, if the ``Entry``
+You can override the ``FOO_set`` name by setting the
+:attr:`~django.db.models.ForeignKey.related_name` parameter in the
+:class:`~django.db.models.ForeignKey` definition. For example, if the ``Entry``
model was altered to ``blog = ForeignKey(Blog, related_name='entries')``, the
above example code would look like this::
@@ -1224,10 +1225,11 @@ An example makes this easier to understand::
a.entry_set.all() # Returns all Entry objects for this Author.
Like :class:`~django.db.models.ForeignKey`,
-:class:`~django.db.models.ManyToManyField` can specify ``related_name``. In the
-above example, if the :class:`~django.db.models.ManyToManyField` in ``Entry``
-had specified ``related_name='entries'``, then each ``Author`` instance would
-have an ``entries`` attribute instead of ``entry_set``.
+:class:`~django.db.models.ManyToManyField` can specify
+:attr:`~django.db.models.ManyToManyField.related_name`. In the above example,
+if the :class:`~django.db.models.ManyToManyField` in ``Entry`` had specified
+``related_name='entries'``, then each ``Author`` instance would have an
+``entries`` attribute instead of ``entry_set``.
One-to-one relationships
------------------------
Please sign in to comment.
Something went wrong with that request. Please try again.