【发布时间】:2012-05-19 06:04:33
【问题描述】:
我有以下型号
类监视器数据(模型。模型): [... 其他的东西] starttime = models.CharField(max_length=64, db_column='spurlStartTime', blank=True)所以,starttime 是一个 char 字段(在数据库中,它代表一个 datetime 列)
现在,这就是我正在做的事情:
oo=models.MonitorData.objects.all() 打印 oo[0].starttime 打印类型(oo[0].starttime)这就是我得到的:
00:35:59出于我自己的原因(不想讨论它们),我想将其作为 varchar 读取,然后自己解析。但是 django 不允许我这样做,因为出于我不知道的原因,它会将其转换为日期时间!
谁能向我解释为什么 django 有这种行为,我怎样才能找回我宝贵的字符串?有没有办法强制 django 将此值转换为字符串?
ps:我知道如何使用 str(),所以请不要回答我这个问题
【问题讨论】:
-
我实际上有点惊讶这完全可以远程工作,但由于该字段是 DATETIME,Django 会将其视为日期时间。
-
我假设
oo[0].spurlstarttime是一个错字,应该是oo[0].starttime? -
是的,现在是开始时间 - 已修复
-
是的,我知道这是一个日期时间,但我不明白为什么我不能把它当作一个字符串来处理。没有办法吗?
-
因为它不是字符串。如果 Django 实际上被视为一个字符串,你会得到一个
IntegrityError
标签: django django-models django-orm