gpt4 book ai didi

django - list_filter 可以在外键对象的计数上完成吗?

转载 作者:行者123 更新时间:2023-12-04 18:02:18 26 4
gpt4 key购买 nike

您好,我有两个对象:

class A(models.Model):
...

class B(models.Model):
a = models.ForeignKey(A)

在管理员中,我想过滤关联了超过 2 个 B 的 A 对象。这可能吗?

我尝试将“b_set__count”添加到列表过滤器,但出现此错误

The value of 'list_filter[2]' refers to 'b_set__count', which does not refer to a Field.

最佳答案

是的,这是可能的。您需要做的是修改 get_queryset 以返回一个注释相关计数的 qs:

class MyModelAdmin(admin.ModelAdmin):

def get_queryset(self, *args, **kwargs):
qs = super(MyModelAdmin, self).get_queryset (*args, **kwargs)
return qs.annotate(b_count=Count('b_set'))

现在您可以在排序、list_display、list_filter 等中使用b_count

关于django - list_filter 可以在外键对象的计数上完成吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32982900/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com