避免makemigrations重新创建日期字段

时间:2014-12-06 10:55:41

标签: django django-models

使用Django 1.7,每当我执行makemigrations时,我都会对其中一个模型进行更改:

(venv) >> python manage.py makemigrations myapp

Migrations for 'myapp':
  0005_auto_20141206_1129.py:
    - Alter field date on observation

这是由于我的Observation类使用datetime.today()

class Observation(model.Models):
    date = models.DateField(default=datetime.datetime.today())

是否有一种简单的方法可以避免为此创建迁移文件,但同时在创建观察时保持默认值today()

1 个答案:

答案 0 :(得分:5)

问题是每次运行此代码时,默认值都会更改为today()的当前值。那是因为你实际上是调用函数而不是将它作为可调用函数传递。只需留下尾随(),你应该没事。

(请注意,您应该使用datetime.date.today,因为您需要date值,而不是datetime值。)