【发布时间】:2017-02-14 10:50:16
【问题描述】:
我有一个带有 DateTimeField 的 Django 模型,其中 auto_now_add 设置为 True。这很好用。
class Problem(models.Model):
...
date_created = models.DateTimeField('created on', auto_now_add=True)
我希望,当我创建测试数据或加载历史数据时,绕过这个参数(auto_now_add 设置为 False)来设置我想要的日期并切换回来 到标准行为(auto_now_add 设置为 True)。
有没有办法动态地改变类(通过改变类的属性?)。该参数对数据库没有影响,可能在保存阶段触发。
我不想要:-)
date_created = models.DateTimeField('created on', default=timezone.now)
提前致谢
【问题讨论】:
-
我认为您可以在创建数据时显式传递
date_created值,而auto_now_add将被忽略。如果您希望该列为NULL,您可以传递None -
为什么不 default=timezone.now?
标签: django django-models