gpt4 book ai didi

django south - unique=True,但是 "give default value for existing rows"?

转载 作者:行者123 更新时间:2023-12-05 05:26:30 26 4
gpt4 key购买 nike

我已经创建了一个索引字段

channel_indexid = PositiveIntegerField(db_index=True, unique=True)

如果我尝试迁移,south 会要求我为现有行输入默认值。

1. Quit now, and add a default...
2. Specify a one-off value..

但是,channel_indexid 是唯一的,如何为所有行指定一个默认值?有什么解决方法吗?这真的很烦人

最佳答案

由于您正在修改模型,South 会要求您提供现有行的默认值,因为您的新字段默认为 null=False。您可以通过设置 null=True, blank=True 来避免为其提供默认值。

如果您不希望它可以为 null,并且您仍想将此字段添加为不可为 null,则必须删除该表并使用新字段重新创建它。

默认情况下,South 为新列提供一个 null 值,但由于默认字段为 null=False,因此 South 要求您为新字段提供一个值。 South 不会为字符串或整数字段提供空字符串或 0 作为默认值,如果字段不可为 null,则必须告诉 South 默认值,如果可为 null,它将给出默认值 null.

关于django south - unique=True,但是 "give default value for existing rows"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530112/

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