首页 > 解决方案 > 将 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 的内容转换为字符串?由于脚本的其余部分按原样工作,理想情况下它不会更改检索到的数据。

标签: pythonpymysql

解决方案


这个问题是您正在从类访问 CharField,而不是类的实例。试试这个:

for model in MyModel.select().where(MyModel.confirmed == 0):
    rd = model.date1
    date_time_obj = datetime.strptime(rd, '%d.%m.%Y')

推荐阅读