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

标签 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'

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

最佳答案

设置 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,方法有很多,但您最有可能需要管理排序。

关于django - 在 Django-Admin 中按字母顺序排列显示项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11999848/

相关文章:

python - 使用 strftime() 方法显示 Django DateTime 字段

python - Django 中的 "Manager"是什么?

python - Django 1.4 SimpleListFilter 'selected' 选项问题

django - Django Admin 中的自定义过滤器

Django ORM : See if a model has no foreign key entry in another model

Django 测试安装固定装置时出错 - 没有这样的表

python - Django 管理页面不显示数据库表(djangobook 第 06 章)

python - 使用 Django 启用管理员时出现 404

python - 使用管理员身份注册自定义用户模型

database - 基于 django 中另一个字段的唯一值字段