2014-12-06 61 views
1

使用Django 1.7,每當我執行makemigrations,我得到我的車型之一的變化:避免makemigrations重新創建日期字段

(venv) >> python manage.py makemigrations myapp 

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

這是由於使用datetime.today()我的觀察類:

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

是否有避免爲此創建遷移文件的簡單方法,但同時在創建觀察時保持默認值today()

回答

4

的問題是,每次運行這些代碼默認更改的today()當前值。那是因爲你實際上是這個函數調用了而不是將它作爲一個可調用對象傳遞。簡單地離開尾隨(),你應該沒問題。

(請注意,您應該使用datetime.date.today,因爲你想有一個date值,而不是一個datetime值。)