我有一个模特A:
class A(models.Model):
start_datetime = models.DatetimeField()
end_datetime = models.DatetimeField()
status = models.CharField(max_length=3)
我试图计算" row"的数量。分组"日"。
所以这是我的问题:
queryset = A.objects.filter(status='OK')
queryset = queryset.annotate(day=Func(F('start_datetime'), function='DATE'))
queryset = queryset.values('day')
queryset = queryset.annotate(total=Count('id'))
当我尝试打印查询集时:print(queryset)
我收到此错误消息:
AttributeError:' datetime.date'对象没有属性' tzinfo'
我理解为什么,但我 如何解决此问题。
在我的设置中:
LANGUAGE_CODE = 'en'
TIME_ZONE = 'America/Montreal'
USE_TZ = True
USE_I18N = True
USE_L10N = True
请指教。谢谢。
答案 0 :(得分:0)
我找到了另一种解决方案:
queryset = A.objects.filter(status='OK')
queryset = queryset.annotate(day=Trunc('start_datetime', 'day', output_field=DateField()))
queryset = queryset.values('day')
queryset = queryset.annotate(total=Count('id'))
queryset = queryset.order_by('-day')
它按预期工作。