您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django Admin:如何按没有数据库字段的自定义list_display字段之一进行排序

Django Admin:如何按没有数据库字段的自定义list_display字段之一进行排序

我喜欢Greg解决此问题的方法,但我想指出,你可以直接在管理员中执行相同的操作:

from django.db import models

class CustomerAdmin(admin.ModelAdmin):
    list_display = ('number_of_orders',)

    def get_queryset(self, request):
    # def queryset(self, request): # For Django <1.6
        qs = super(CustomerAdmin, self).get_queryset(request)
        # qs = super(CustomerAdmin, self).queryset(request) # For Django <1.6
        qs = qs.annotate(models.Count('order'))
        return qs

    def number_of_orders(self, obj):
        return obj.order__count
    number_of_orders.admin_order_field = 'order__count'

这样,你只需在管理界面内进行注释。并非与你执行的每个查询有关。

Go 2022/1/1 18:22:03 有288人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶