django DateTimeField 到 mysql DATETIME 长度问题

环境:django 1.9.7

背景介绍

django migrate 生成表结构时,对于DateTimeField 类型的处理是加了6位精度的,只用django处理是没有任何问题的,但是如何别的框架来读取这种字段会读取不到该字段值。

参考链接

详情

跟踪调试发现如下东西

在文件: django/db/backends/mysql/base.py line:184

data_types 方法有如下代码:

    @cached_property
    def data_types(self):
        if self.features.supports_microsecond_precision:
            return dict(self._data_types, DateTimeField='datetime(6)', TimeField='time(6)')
        else:
            return self._data_types

知道了这些后,我们只需要将 datetime(6) 修改为 datetime  就能在数据库表创建时不指定DATETIME的精度了

    原文作者:mugbya
    原文地址: https://segmentfault.com/a/1190000007563420
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞