我有以下型号
class MonitorData(models.Model): [... other stuff] starttime = models.CharField(max_length=64, db_column='spurlStartTime', blank=True)
因此,starttime是一个char字段(在数据库中,它代表一个datetime列)
现在,这就是我在做的事情:
oo=models.MonitorData.objects.all() print oo[0].starttime print type(oo[0].starttime)
这就是我得到的:
00:35:59 <type 'datetime.time'>
出于我自己的原因(不想讨论它们)我想把它作为varchar读取然后自己解析它。但django不允许我这样做,因为由于我不知道的原因,它将其转换为日期时间!
任何人都可以向我解释为什么django会有这种行为,我怎样才能获得我的宝贵琴弦?有没有办法强制django将此值转换为字符串?
ps:我知道如何使用str()所以请不要回答我
答案 0 :(得分:4)
Django没有做任何事情。 DBAPI适配器看到它是DATETIME,因此返回日期时间。 CharField
中没有任何内容强制将日期时间用于文本。
答案 1 :(得分:0)
我想, 而不是以datetime格式保存值。尝试将其保存在isoformat中。你可以轻松转换。