summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/ref/contrib/admin/index.txt16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/ref/contrib/admin/index.txt b/docs/ref/contrib/admin/index.txt
index 3cf8ae59c5..6fa34228f9 100644
--- a/docs/ref/contrib/admin/index.txt
+++ b/docs/ref/contrib/admin/index.txt
@@ -714,6 +714,22 @@ subclass::
colored_first_name.admin_order_field = '-first_name'
+ ``admin_order_field`` supports query lookups to sort by values on related
+ models. This example includes an "author first name" column in the list
+ display and allows sorting it by first name::
+
+ class Blog(models.Model):
+ title = models.CharField(max_length=255)
+ author = models.ForeignKey(Person, on_delete=models.CASCADE)
+
+ class BlogAdmin(admin.ModelAdmin):
+ list_display = ('title', 'author', 'author_first_name')
+
+ def author_first_name(self, obj):
+ return obj.author.first_name
+
+ author_first_name.admin_order_field = 'author__first_name'
+
* Elements of ``list_display`` can also be properties. Please note however,
that due to the way properties work in Python, setting
``short_description`` on a property is only possible when using the