9

我现在可以显示我想要使用的项目,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'

如何更改它以按字母顺序显示?在这方面需要一些帮助...

4

2 回答 2

23

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

例子

class TeamRoleAdmin(admin.ModelAdmin):
   """ Team Role admin view with modifications """
   model = TeamRole
   ordering = ('team', 'role', 'user')
   list_display = ['id', 'user', 'team', 'role']

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

修改全局模型元类,覆盖 ModelAdmin.queryset,有很多方法,但您最有可能需要 Admin 排序。

于 2012-08-17T04:49:00.903 回答
3

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

于 2012-08-17T04:40:20.587 回答