在Django-Admin中按字母顺序排序显示项目

时间:2012-08-17 04:37:31

标签: django django-admin

我现在能够使用list_display []显示我想要的项目,但我希望它们按字母顺序显示。你如何按字母顺序排列list_display?

Django-admin中的示例:

class PersonAdmin(admin.ModelAdmin):
    list_display = ('upper_case_name',)

    def upper_case_name(self, obj):
      return ("%s %s" % (obj.first_name, obj.last_name)).upper()
    upper_case_name.short_description = 'Name'

如何更改此按字母顺序显示?需要一些帮助...

2 个答案:

答案 0 :(得分:13)

设置ModelAdmin.ordering = ('foo', )以订购管理员。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.ordering

修改全局模型元类,覆盖ModelAdmin.queryset,有很多方法,但您很可能需要管理员订购。

答案 1 :(得分:1)

在您的模型Meta中,您可以指定ordering = ['first_name', 'last_name']