2016-05-20 74 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(),那么你只是评估函数并将其传递给返回值。 –