Browse Source

Fixed #10913 -- Documented how related_name affects QuerySet filtering

Thanks neithere for the suggestion.
Tim Graham 11 years ago
parent
commit
75bb6ba966
2 changed files with 13 additions and 10 deletions
  1. 5 4
      docs/ref/models/fields.txt
  2. 8 6
      docs/topics/db/queries.txt

+ 5 - 4
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

+ 8 - 6
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
 ------------------------