Ben*_*Ben 13 django django-models django-admin
在单个Django管理模型中,是否可以聚合来自相关对象的字段.
例如,我有一个学生对象,它具有一个测试对象的FK.测试对象具有"得分"字段.
我可以在所有学生考试中汇总分数并将其放在admin display_list属性中吗?
Bry*_*yan 22
你可以,例如:
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'
Run Code Online (Sandbox Code Playgroud)
不过,据我所知,你不能排序在通过此方法这些领域的管理范围内单击,将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/
归档时间: |
|
查看次数: |
5611 次 |
最近记录: |