Neo*_*ang 7 python django timezone django-models
当字段标有auto_now_add
属性时,Django如何写日期字段?
是喜欢datetime.now().date()
还是timezone.now().date()
?
换句话说,它用于获取当前日期的时区?
看起来它使用datetime.date.today()
,这将是系统的本地日期:
class DateField(Field):
...
def pre_save(self, model_instance, add):
if self.auto_now or (self.auto_now_add and add):
value = datetime.date.today()
setattr(model_instance, self.attname, value)
return value
Run Code Online (Sandbox Code Playgroud)
如果您想要不同的行为,您可以删除auto_now_add=True
然后将模型的pre_save
信号连接到接收器,该接收器会将您的字段设置为您选择的日期。
或者,您可以重写模型的save
方法并在那里设置字段。