Loading

django中DateTime属性创建时间去掉毫秒的方法

django这边设置

import datetime
# 时间基类
class BaseModel(models.Model):
    create_time = models.DateTimeField(auto_now_add=datetime.datetime.now().replace(microsecond=0), verbose_name='创建时间')
    update_time = models.DateTimeField(auto_now=datetime.datetime.now().replace(microsecond=0), verbose_name='更新时间')
    class Meta:
        db_table = 'basemodel'
        abstract = True
        verbose_name = '时间基类'

其实就是用到replace,给微秒定义为0,再重新生成迁移文件,执行迁移命令就OK啦

数据库中就是这样的格式了
还有一个问题就是数据在前端显示的时候,年月日和时分秒中间有个T没有去掉,有没有大佬指点一下

解决方式:
去掉T,需要在setting加上REST_FRAMEWORK={ "DATETIME_FORMAT":"%Y-%m-%d %H:%M:%S" }

上述正常设置完:Django这边的数据是:年月日 时分秒

但不能忽略MySQL那边

后来我发现MySQL存储数据,由于表结构的问题的还有6位的毫秒保留
如下图:

然后需要看这篇文章,原理以及如何设置:链接

posted @ 2021-07-16 15:58  封灵寒武  阅读(1031)  评论(0编辑  收藏  举报