我想使用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=Coun
吨( “player_id”))
但是我猜这个查询对于网络而言太重了。当我的MySQL数据是datetime.datetime.now时,有什么方法可以通过datetime.date“分组”或者在Django.models中使用(date()用于MySQL) ()?
答案 0 :(得分:1)
我使用PostgreSQL date_trunc()
按日期保存为Datetime的日期对值进行分组。我认为你可以使用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')