【问题标题】:Django: How to sort on manytomany field in Admin Site?Django:如何对管理站点中的多字段进行排序?
【发布时间】:2021-02-25 04:20:39
【问题描述】:

我有以下 django 管理站点。字段 Industries 和 Nationalities 是 Person 模型中的多字段。 基于Person模型设计了下面的管理页面。 姓名、职业和出生日期字段可以默认排序。但是不能对行业和民族进行排序。有没有什么方法可以同时对多字段进行排序?

应用评论中提到的解决方案后,我可以看到排序已激活,但排序后的数据看起来顺序不正确。 请检查以下屏幕截图中的行业列。

有什么办法可以改正吗?

【问题讨论】:

    标签: django


    【解决方案1】:

    如果list_display的一个元素代表某个数据库字段,你可以通过设置item的admin_order_field属性来表明这个事实。

    例如

    from django.contrib import admin
    from .models import Person
    
    @admin.register(Person)
    class PersonAdmin(admin.ModelAdmin):
        list_display = ['display_name', 'profession', 'industries', 'nationalites', 'date_of_birth']
        nationalites.admin_order_field = 'nationalites__name'
        industries.admin_order_field = 'industries__name'
    

    更多信息here

    【讨论】:

    • 我看到订单不正确。我附上了上面的屏幕截图。有什么办法可以改正吗?
    • С能否请您提供模型的代码,以便我可以重现问题
    猜你喜欢
    • 2019-04-15
    • 2021-11-05
    • 2013-08-18
    • 2016-11-22
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 2018-08-06
    • 2016-11-24
    相关资源
    最近更新 更多