1

我想使用 Django.models 查询 MySQL,但是由于我将我的created_at(日期时间字段)与datetime.datetime.now(),似乎很难对每个日期进行“分组”。我做了这样的查询:

start = time.strptime("2012/6/25","%Y/%m/%d")
end = time.strptime("2012/6/26","%Y/%m/%d")
unix_start= time.mktime(start)
unix_end = time.mktime(end)

Mymodels.objects.filter(created_at__range[datetime.datetime.fromtimestamp(unix_start),datetime.datetime.fromtimestamp(unix_end]).values("~~~~~").annotate(player_id=Count("player_id"))

但我猜这个查询对于网络来说太重了。当我的 MySQL 数据是 datetime.datetime.now() 时,有什么方法可以按 datetime.date “分组”或在 Django.models 中使用 (date() for MySQL)?

4

1 回答 1

1

date_trunc()当日期保存为日期时间时,我使用 PostgreSQL按日期对值进行分组。我认为你可以在 MySQL 中使用这样的东西:

select_date = {"date": """DATE_FORMAT(start, '%Y-%m-%d')"""}
query = query.extra(select=select_date).values('date')
query = query.annotate(player_id=Count('player_id', distinct=True)).order_by('date')
于 2012-06-29T08:45:11.063 回答