Django datetime字段分数支持

时间:2016-04-25 02:06:08

标签: django django-models mariadb

我安装了与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并且在记录按时间顺序输入时有效,但现在这个不是我需要部分支持的情况。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

对于这种情况,最好将日期和时间存储为数据库中的unix时间戳。你有毫秒的准确度。您可以随时使用fromtimestamp转换为python datetime对象。

最后但并非最不重要的是,您可以使用javascript将unix时间戳轻松转换为用户自己时区的日期时间。与django或任何其他服务器端技术相比,这个过程要复杂得多。