在现实生产环境中,往往希望对象的创建时间默认设置为当前值,但又希望日后可以修改它,如何实现这种需求的呢。
django中所有的model字段都拥有一个default参数,用来给字段设置默认值(上面的文档中有介绍)。
我们可以使用default=timezone.now()来替换auto_now=True或auto_now_add=True。
(default=timezone.now 对应 django.utils.timezone.now())
from django.db import models
import django.utils.timezone as timezone
class Test(models.Model):
add_date = models.DateTimeField(‘保存日期’,default = timezone.now)
mod_date = models.DateTimeField(‘最后修改日期’, auto_now = True
html页面从数据库中读出DateTimeField字段时,显示的时间格式和数据库中存放的格式不一致,比如数据库字段内容为2018-06-25 22:00:00,但是页面显示的却是Apr. 25, 2018, 10 p.m.
为了页面和数据库中显示一致,需要在页面格式化时间,需要添加{{ infor.updatetime|date:“Y-m-d H:i:s” }} 类似的过滤器。刷新页面,即可正常显示。
创建时间和更新时间:default = timezone.now和auto_now = True
最新推荐文章于 2022-07-18 20:41:52 发布