将创建时间设置为默认当前, 并且可以修改
那么问题来了。实际场景中,往往既希望在对象的创建时间默认被设置为当前值,又希望能在日后修改它。怎么实现这种需求呢?
django中所有的model字段都拥有一个default参数,用来给字段设置默认值。
可以用 default=timezone.now 来替换 auto_now=True 或 auto_now_add=True。
timezone.now对应着django.utils.timezone.now(),因此需要写成类似下面的形式:
from django.db import models
import django.utils.timezone as timezone
class Doc(models.Model):
add_date = models.DateTimeField(default = timezone.now)
mod_date = models.DateTimeField(auto_now = True)