当我的MySQL字段还有几小时/分钟/秒时,有没有办法用Django.models按日期“分组”?

时间:2012-06-29 03:50:42

标签: mysql django or-mapper

我想使用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) ()?

1 个答案:

答案 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')