gpt4 book ai didi

Django auto_now 行为

转载 作者:行者123 更新时间:2023-12-04 15:03:12 35 4
gpt4 key购买 nike

我有以下型号:

class MetaData(models.Model):
created_at = models.DateTimeField(auto_now_add=True, auto_now=False)
created_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True,
related_name='%(app_label)s_%(class)s_created_by')
updated_at = models.DateTimeField(auto_now_add=False, auto_now=True)
updated_by = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True,
related_name='%(app_label)s_%(class)s_updated_by')

update_at 字段也在创建时以一个值完成,而不是为空。我希望只有在第一次保存/创建之后才会有一个值。

我做错了吗?

最佳答案

在 Django 中,您有 auto_nowauto_now_add两者都有。

来自文档:

DateField.auto_now

Automatically set the field to now every time the object is saved. (which means when it is first created too)

DateField.auto_now_add

Automatically set the field to now when the object is first created.

编辑:

如果您希望在第一次创建对象时 updated_at 字段为 null,您只需将 null=Trueauto_now=TrueDateTimeField:

class MetaData(models.Model):
# ...
updated_at = models.DateTimeField(auto_now=True, null=True)
# ...

关于Django auto_now 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45841270/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com