2016-05-20 97 views
-2

我想在postgresql模型中使用DateTimeField。我已經設定時區是在設置真實和模型領域是:Django DateTimeField與時區默認

pickupTime = models.DateTimeField(default=datetime.now()) 

然而,當我運行python manage.py遷移有一個錯誤:

django.db.utils.ProgrammingError: cannot cast type time without time zone to timestamp with time zone 

我已經嘗試了不同的DateTimeField的默認值的變化如下:

models.DateTimeField(default=timezone.now) 
models.DateTimeField(auto_now_add=True) 
models.DateTimeField(auto_now_add=True, auto_now=False) 

但錯誤仍然相同。我錯過了什麼?

回答

0

試試這個:

pickupTime = models.DateTimeField(default=datetime.now) 

它應該工作。

+0

偉大的工程!事情是,通過傳遞datetime.now沒有括號,你傳遞的實際函數,這將被稱爲每次添加記錄,另一方面,如果你通過它datetime.now(),那麼你只是評估函數並將其傳遞給返回值。 –