我安装了与MariaDB 10.1.13一起安装的Django 1.9.5(也使用MySQL 5.6.30进行了测试)(从MySQL 5.5更新),我试图在日期时间字段中获得小数秒支持。
我已经创建了一个测试模型来尝试使其工作,这是定义
class History(models.Model):
date = models.DateTimeField(null=True)
然后在shell中我运行了以下
History(date=datetime.now()).save()
然后当我查询它时
type(History.objects.get(id=1).date)
我得到了
<type 'NoneType'>
即使该条目出现在数据库中。
我也可以在查询中使用该字段
History.objects.all().order_by('date')
我知道它有效,因为检查数据显示订单已更改
但我需要能够返回日期,以便我可以将它与另一个进行比较。
我在没有小数支持的情况下使用MySQL 5.5但是我的数据库中有记录具有相同的日期时间字段,因此order_by没有工作,我使用order_by id并且在记录按时间顺序输入时有效,但现在这个不是我需要部分支持的情况。
有什么想法吗?
答案 0 :(得分:0)
对于这种情况,最好将日期和时间存储为数据库中的unix时间戳。你有毫秒的准确度。您可以随时使用fromtimestamp转换为python datetime对象。
最后但并非最不重要的是,您可以使用javascript将unix时间戳轻松转换为用户自己时区的日期时间。与django或任何其他服务器端技术相比,这个过程要复杂得多。