gpt4 book ai didi

具有auto_now_add的Django DateTimeField要求默认

转载 作者:行者123 更新时间:2023-12-03 14:01:18 24 4
gpt4 key购买 nike

我的模型中有这个字段 created_at = models.DateTimeField( auto_now_add = True )
当我尝试进行迁移时,出现错误:

You are trying to add the field 'created_at' with 'auto_now_add=True' to user wi
thout a default; the database needs something to populate existing rows.

1) Provide a one-off default now (will be set on all existing rows)
2) Quit, and let me add a default in models.py

我试图设置默认值,但它说 defaultauto_now_add 是互斥的。当然,我可以在没有 auto_now_add 的情况下使用默认值,但我想知道为什么会弹出这个错误。我错过了什么?

最佳答案

您已经有一些没有 created_at 值的行。
但是当您添加以下字段并运行迁移时

created_at = models.DateTimeField( auto_now_add = True)

它期望现有行具有 created_at 值。因此,它会在迁移时向您发出警告。

为了解决这个问题。
您可以选择第一个选项,即 Provide a one-off default now (will be set on all existing rows)
通过选择第一个选项,您是在寻求值(value)。您可以在此处输入 timezone.now() 。它将使用当前时间戳填充现有行。

关于具有auto_now_add的Django DateTimeField要求默认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56310322/

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