我正在使用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。有更好的解决方案吗?
答案 0 :(得分:1)
我在peewee docs中发现了以下解决方案:
from peewee import fn
list(Event.select().where(fn.date_trunc('day', Event.event_date) == event_date_dt))