这里是 Django 新手。我正在为带有字符串时间戳的 SQLite 数据库制作 Django 模型,例如2014-09-23T18:43:26.692Z。因为我想最终使用 Django 的过滤引擎进行查询(而不是使用strftime),我希望我的模型从 ISO 字符串生成 DateTimeField 对象。如果我尝试像这样在原始数据库字段上声明 DateTimeField
startTime = models.DateTimeField(db_column='startTime')
我收到错误:“unicode”对象没有属性“isoformat”
我做了一些挖掘并尝试了以下代码:
startTime = models.DateTimeField(dateutil.parser.parse(models.TextField(db_column='startTime'))
但现在错误是AttributeError:“TextField”对象没有属性“read”。
我究竟做错了什么?这是正确的方法吗?
由于没有人费心回答这个问题,而且它出现在 Google 搜索的顶部,因此这里是为了节省一些额外的搜索。正如有人提到的,Django 自己的 dateparse 模块最适合这项工作,并将 ISO8601 和许多其他格式转换为 Python 的 datetime.datetime目的。它还具有时区感知能力,因此非常适合 Django 项目。
from django.utils import dateparse
x = '2014-09-23T18:43:26.692Z'
y = dateparse.parse_datetime(x)
print y
瞧……!
2014-09-23 18:43:26.692000+00:00
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)