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

问题描述 投票:1回答:1

我用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。有更好的解决方案吗?

python peewee
1个回答
1
投票

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

from peewee import fn
list(Event.select().where(fn.date_trunc('day', Event.event_date) == event_date_dt))
© www.soinside.com 2019 - 2024. All rights reserved.