将'auto_now'DateTimeField添加到现有的Django模型

时间:2018-02-16 13:41:49

标签: python django django-models

是否可以添加到现有模型auto_nowauto_now_add DateTime字段?

class ExistingModel(models.Model):
    # ... model stuff
    created_at = models.DateTimeField(auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True)

我们无法在没有default的情况下添加此字段,但添加default值会出错:

./manage.py makemigrations

返回:

(fields.E160) The options auto_now, auto_now_add, and default are mutually exclusive. Only one of these options may be present.

1 个答案:

答案 0 :(得分:10)

您可以在两次单独的迁移中实现这一目标。

首先,在两个新的日期时间字段中添加default=<some datetime>并创建该迁移。

然后删除default并添加auto_now参数并创建第二次迁移。