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位的毫秒保留
如下图:
然后需要看这篇文章,原理以及如何设置:链接