我有一些基本的时间戳字段,应该以auto_now_add
结尾:
class Example(models.Model):
created = models.DateTimeField(auto_now_add=True)
但是,我需要从外部数据库播种初始 Django 项目数据库,其中这些创建时间戳已经为现有数据填充。
我想我可能需要执行以下操作:
入手
created = models.DateTimeField(default=timezone.now)
导入旧数据库数据
迁移到
created = models.DateTimeField(auto_now_add=True)
这是否有必要保留旧的时间戳,或者我可以从所需的auto_now_add
开始并以某种方式导入而忽略它?
基于 Django 文档 forauto_now_add
,使用该标志将导致该字段不可编辑:
如当前实现的那样,将auto_now或auto_now_add设置为 True 将导致字段设置可编辑=False 和空白 = True。
考虑到这一点,您可以按照您的建议使用default=timezone.now
并在文档中提到。