gpt4 book ai didi

Django Admin,显示来自相关模型的聚合值

转载 作者:行者123 更新时间:2023-12-03 23:10:31 25 4
gpt4 key购买 nike

是否可以在单个 Django 管理模型中聚合来自相关对象的字段。

例如,我有一个学生对象,它有一个测试对象的 FK。测试对象有一个“分数”字段。

我可以汇总所有学生测试的分数并将其放在管理 display_list 属性中吗?

最佳答案

例如,您可以:

class FixtureAdmin(admin.ModelAdmin): 
list_display = ["id", "title", "date", "num_fixture_metas_count"]

def get_queryset(self, request):
qs = super(FixtureAdmin, self).get_queryset(request)
return qs.annotate(num_fixture_metas=Count('fixturemeta'))

def num_fixture_metas_count(self, obj):
return obj.num_fixture_metas
num_fixture_metas_count.short_description = 'Fixture Count'
num_fixture_metas_count.admin_order_field = 'num_fixture_metas'

但是,AFAIK,您不能通过此方法在这些字段的管理员中单击排序,因为添加 num_fixture_metas来自 .annotate()list_display导致缺少字段错误。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display
https://docs.djangoproject.com/en/dev/topics/db/aggregation/

关于Django Admin,显示来自相关模型的聚合值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7276509/

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