python - 将 CharField 转换为字符串
问题描述
对于使用 pymysql 的数据库查询,我正在获取模型
class MyModel(Model):
id = AutoField()
date1 = CharField()
confirmed = IntegerField()
获取日期有效,但我必须使用 date1 进行一些计算。为此,我需要使用 datetime.strptime() 将其转换为 datetime 对象。
for model in MyModel.select().where(MyModel.confirmed == 0):
rd = MyModel.date1
date_time_obj = datetime.strptime(rd, '%d.%m.%Y')
问题是 date1 是一个 CharField,而不是一个字符串,所以 strptime 不起作用。如何将 CharField 的内容转换为字符串?由于脚本的其余部分按原样工作,理想情况下它不会更改检索到的数据。
解决方案
这个问题是您正在从类访问 CharField,而不是类的实例。试试这个:
for model in MyModel.select().where(MyModel.confirmed == 0):
rd = model.date1
date_time_obj = datetime.strptime(rd, '%d.%m.%Y')
推荐阅读
- python - 在 pandas 上选择一列(来自时间戳的 datetime.date 的结果)
- ios - 更改 .xcarchive 上的签名团队
- php - 如何以最简单的方式将键和值添加到数组
- python - keras - tensorflow - LSTM - csv - 如何使用 fit_generator
- asp.net - 从网站转换为 Web 应用程序后,Syste.Web.Ui.Page 为“未定义”
- python - `mp.pool` 正常工作时`mp.pool.ThreadPool` 失败
- javascript - React-Router V2, V4 - 如何在 react-router V4 中使用 react-router V2 的“路由器”?
- typescript - 量角器 + 茉莉花 + TS。打字问题:xit 返回无效。如何使用 xit().pend(原因)
- vba - 选择现有形状时出现错误 86db089e
- java - 如何在java中获取表情符号代码?