我尝试按特定字段(例如Django admin
)对date
应用中的项目进行分组。
所以我已经在admin.ModelAdmin.getQueryset()
中添加了以下查询集:
queryset = queryset.values('date').annotate(Sum('amount'))
但这不起作用,因为在这种情况下,会返回dict
而不是queryset
。
我开始探索django/contrib/admin
文件夹中的内容,我认为在将对象发送到模板change_list.html
之前需要先完成一些事情。
我不确定,但我认为views/main.py
(管理员文件夹)中的课程可能需要进行一些更改。
有人可以确认我尝试做的事情是可以实现的吗?
请在下面找到我想要实现的目标:
答案 0 :(得分:1)
在网址中按照以下示例操作。通过自定义查询集和groupby数据覆盖django admin,可以很好地理解它 https://medium.com/@hakibenita/how-to-turn-django-admin-into-a-lightweight-dashboard-a0e0bbf609ad
答案 1 :(得分:1)
我发现这很有用:https://github.com/xacce/django_admin_grouper
您可以简单地在 ClassAdmin
class RecordAdmin(admin.ModelAdmin):
def regroup_by(self):
return 'category'
repo 覆盖了 Django 的 change_list_results.html
。如果您的 RecordAdmin
具有方法 reggroup_by
,则它会插入带有类别名称的行。如果缺少 reggroup_by
,它会照常工作。