繁体   English   中英

日期时间字段上的 Peewee 选择查询不返回日期时间对象

[英]Peewee select query on a datetime field does not return a datetime object

嗨,我的模型中有一个日期时间字段,在模型上执行选择查询时,peewee 返回日期时间字段的字符串表示形式,而不是实际的日期时间对象。

past_day = Model.select(Model, fn.MAX(Model.timestamp))[0].timestamp 
# timestamp is a field of type DateTimeField() ; above query returns a str object

type(past_day) # prints str.

我想从这个查询中获取纯 python 日期时间对象,我到处找,但没有得到解决方案。

据我所知,工作正常:

db = SqliteDatabase(':memory:')

class R(Model):
    key = TextField()
    ts = DateTimeField()
    class Meta:
        database = db

db.create_tables([R])

for i in range(1, 10):
    R.create(key=str(i), ts=datetime.datetime(2020, 1, i))
r = R.select(R, fn.MAX(R.ts).alias('max_ts')).get()
print(r.key, type(r.max_ts), r.max_ts)

印刷:

9 <class 'datetime.datetime'> 2020-01-09 00:00:00

如果您使用的是过时版本的 Peewee,请尝试升级。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM