Python auto_now_add和timezone.now作为默认值之间的差异
Django车型的Python auto_now_add和timezone.now作为默认值之间的差异,python,django,django-models,django-database,Python,Django,Django Models,Django Database,Django车型的auto\u now\u add和timezone.now(默认值)之间有什么区别? 例如: create\u date=models.datetime字段(auto\u now\u add=True) 及 create_date=models.DateTimeField(默认值=timezone.now) ? UPD。我说的是我总是不覆盖默认值的情况。看起来Django也做了同样的时区。现在() def pre_save(self、model_实例、add): 如果sel
auto\u now\u add
和timezone.now
(默认值)之间有什么区别?
例如:
create\u date=models.datetime字段(auto\u now\u add=True)
及
create_date=models.DateTimeField(默认值=timezone.now)
?
UPD。我说的是我总是不覆盖默认值的情况。看起来Django也做了同样的
时区。现在()
def pre_save(self、model_实例、add):
如果self.auto\u now或(self.auto\u now\u add and add):
value=timezone.now()
setattr(model_实例,self.attname,value)
返回值
其他:
返回super(DateTimeField,self).pre_保存(model_实例,add)
唯一的区别是python调用时区的时刻。now()
,但这应该是纳秒级的区别。看起来Django在保存前执行相同的时区。now()
:
def pre_save(self、model_实例、add):
如果self.auto\u now或(self.auto\u now\u add and add):
value=timezone.now()
setattr(model_实例,self.attname,value)
返回值
其他:
返回super(DateTimeField,self).pre_保存(model_实例,add)
唯一的区别是python调用时区的时刻。now()
,但这应该是纳秒级的区别。解释:
auto\u now\u add=True将在保存模型时创建日期
默认值=时区。现在将是带时区的默认日期,您必须输入带时区的日期
链接到说明:说明:
auto\u now\u add=True将在保存模型时创建日期
默认值=时区。现在将是带时区的默认日期,您必须输入带时区的日期
链接到解释:
default
提供了保存实例时的默认值,但没有字段值,但仍然意味着该字段是用户可编辑的,因此有人可以输入字段值
auto\u now
和auto\u now\u add
表示该字段不是用户可编辑的,必须始终设置为该值
有人贴了这个
default
提供了保存实例时的默认值,但没有字段值,但仍然意味着该字段是用户可编辑的,因此有人可以输入字段值
auto\u now
和auto\u now\u add
表示该字段不是用户可编辑的,必须始终设置为该值
有人贴了这封信。我想这两封信都会在TZ上。还是不?为什么<代码>必须输入日期<代码>,我可以始终使用默认值?该字段上没有blank=True,null=True,因此默认情况下不能绕过它。Django将使用默认时区保存datetime。现在在每个保存方法中。我认为这两种方法都将使用TZ。还是不?为什么<代码>必须输入日期<代码>,我可以始终使用默认值?该字段上没有blank=True,null=True,因此默认情况下不能绕过它。Django将在每个保存方法中使用默认时区.now保存datetime。