Django管理员订单字段显示不正确

时间:2018-10-10 08:58:52

标签: django django-admin

我的django管理面板似乎排序不正确,我有一个自定义方法,该方法将计算每个帖子的评论。

class PostAdmin(admin.ModelAdmin):
    list_display = ('title', 'author', 'comments', 'created')

    def get_queryset(self, request):
        qs = super(PostAdmin, self).get_queryset(request)
        qs = qs.annotate(com=models.Count('comment'))
        return qs

    def comments(self, obj):
        return obj.comment_set.count()

    comments.admin_order_field = 'com'

但是可悲的是,每当我单击表格的标题以按注释排序时,都会得到如下内容:

85
100
132
128
36

是的,我确保按降序对列进行排序。

我在做什么错了?

1 个答案:

答案 0 :(得分:0)

comments方法更改为: def comments(self, obj): return obj.com