Peewee查询以获取特定日期的所有记录

时间:2018-09-06 00:17:41

标签: python peewee

我正在使用Peewee作为我的ORM。我有一个DateTimeField,我想获取在特定日期发生的所有记录:

event_date = '2018-04-18'
event_date_dt = datetime.datetime.strptime(event_date, '%Y-%m-%d')

我知道我可以获取一个datetime对象并获取所有大于该日期且小于第二天的记录:

list(Event.select().where((Event.event_date > event_date_dt) & (Event.event_date < event_date_dt + datetime.timedelta(days=1))))

但是,这感觉很hacky。有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

我在peewee docs中发现了以下解决方案:

from peewee import fn
list(Event.select().where(fn.date_trunc('day', Event.event_date) == event_date_dt))