clicks = SellerClick.objects.extra({'date' : "date(timestamp)"}).values('date').annotate(count=Count('timestamp'))
该模型有一个名为timestamp
的日期时间字段正在使用。我首先将datetime字段转换为日期字段。然后剩下的就是猜测。我需要分组,然后计算每个日期的对象数。
因此,期望的结果将是日期,然后是计数,基于timestamp
字段中该日期的对象数量。
答案 0 :(得分:3)
我更喜欢使用annotate over extra
from django.db.models.expressions import RawSQL
SellerClick.objects.annotate(
date=RawSQL('date(date_joined)',[]),
).values('date').annotate(count=Count('date')))
答案 1 :(得分:1)
除了初始查询集外,你已经拥有了所有内容。你传递的额外sql不包含select,所以你需要给它一些动作。
clicks = SellerClick.objects.all()
.extra({'date' : "date(timestamp)"})
.values('date')
.annotate(count=Count('timestamp'))