在 django admin 中按天分组?

Group by day in django admin?

我需要在 django 管理中按天对事件进行分组和计数。

这是我当前的管理查询集:

class TransactionLogAdmin(ExportMixin, OrganizationRestrictedAdmin):

    list_display = ['get_type_count', 'get_count']

    def get_queryset(self, request):
        return TransactionLog.objects.all().extra(
            select={'day': 'date( date_created )'}).values('datetime')

但我收到以下错误:

'dict' object has no attribute '_meta'

这就是问题所在

return TransactionLog.objects.all().extra(
        select={'day': 'date( date_created )'}).values('datetime')

您在管理员中有 get_queryset 方法。顾名思义,该方法预期 return 一个查询集。但是你在这里return查字典。删除对 values()

的调用

当超越 get_queryset 时,调用超类中的方法并对其进行修改而不是创建您自己的新查询集总是一个好主意。