[英]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.