I\'m trying to sort a Django Admin list page by a specific value in the objects\' related foreign key set.
Specifically, in the below code, I want the ContentAdmin v
If I understand correctly, you can try this from ModelAdmin.list_display in Django's documentation:
Usually, elements of
list_display
that aren't actual database fields can't be used in sorting (because Django does all the sorting at the database level).However, if an element of
list_display
represents a certain database field, you can indicate this fact by setting theadmin_order_field
attribute of the item.For example:
class Person(models.Model): first_name = models.CharField(max_length=50) color_code = models.CharField(max_length=6) def colored_first_name(self): return '%s' % (self.color_code, self.first_name) colored_first_name.allow_tags = True colored_first_name.admin_order_field = 'first_name' class PersonAdmin(admin.ModelAdmin): list_display = ('first_name', 'colored_first_name')
The above will tell Django to order by the first_name field when trying to sort by colored_first_name in the admin.
You can try this workaround in your code for the sorting.