summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorMarc Tamlyn <marc.tamlyn@gmail.com>2013-06-06 01:27:05 -0700
committerMarc Tamlyn <marc.tamlyn@gmail.com>2013-06-06 01:27:05 -0700
commit9ed971f4f1d2f05ecf7e2760556259eb2dca85f8 (patch)
treea980fbf9d9a9039c8cdce2e18fe0ddfb35585dda /docs
parent31fd64ad8a98d7de0acb9144ae6f7bd124700cb0 (diff)
parent0fd9f7c95f748764867dc148a2bacef807466d85 (diff)
Merge pull request #1245 from oinopion/list_select_related
Fixed #19080 -- Fine-grained control over select_related in admin
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/contrib/admin/index.txt22
1 files changed, 17 insertions, 5 deletions
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index 11bc2c7268..7377f11a63 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -812,12 +812,24 @@ subclass::
the list of objects on the admin change list page. This can save you a
bunch of database queries.
- The value should be either ``True`` or ``False``. Default is ``False``.
+ .. versionchanged:: dev
- Note that Django will use
- :meth:`~django.db.models.query.QuerySet.select_related`,
- regardless of this setting if one of the ``list_display`` fields is a
- ``ForeignKey``.
+ The value should be either a boolean, a list or a tuple. Default is
+ ``False``.
+
+ When value is ``True``, ``select_related()`` will always be called. When
+ value is set to ``False``, Django will look at ``list_display`` and call
+ ``select_related()`` if any ``ForeignKey`` is present.
+
+ If you need more fine-grained control, use a tuple (or list) as value for
+ ``list_select_related``. Empty tuple will prevent Django from calling
+ ``select_related`` at all. Any other tuple will be passed directly to
+ ``select_related`` as parameters. For example::
+
+ class ArticleAdmin(admin.ModelAdmin):
+ list_select_related = ('author', 'category')
+
+ will call ``select_related('author', 'category')``.
.. attribute:: ModelAdmin.ordering