Django:无默认的不可用的字段



在django中i在以下型号上使用 manage.py makemigrationsmanage.py migrate.py文件:

class Family(models.Model):
    comment1 = models.CharField(max_length=80)
    #comment2 = models.CharField(max_length=80)

成功初始化后,我将 models.py.py 更改为(我只是删除新的模型字段,这基本上是其他模型字段的副本):

class Family(models.Model):
    comment1 = models.CharField(max_length=80)
    comment2 = models.CharField(max_length=80)

现在,当我尝试再次使用makemigrations时,我会得到以下错误

您正在尝试不用 默认我们无法做到这一点(数据库需要一些填充的东西 现有行)。

请选择一个修复程序:

1)立即提供一次性默认值 (将在所有现有行上设置为此列的零值)

2)退出,让我在型号中添加默认值。py选择一个选项:

为什么我首先不在Intialization时会遇到此错误?

其他是正确的。您应该为该字段设置默认值。但是您可以解决这个问题。但这不是一个好方法...只有您别无选择。
1.评论所有表
2.运行makemigrationsmigrate
3.删除您的桌子
4.2。再次运行makemigrationsmigrate

image1=models.ImageField(upload_to='app/image12',help_text="hi", null=True)

也就是说,在现场设置null= True'

在存储数据库后更改模型时,它会发生。

如果您想在没有默认的情况下使其不可使其无效。创建迁移文件时,必须为同一字段提供值。那就是为什么它要求该选项。python manage.py makemigrations在终端中键入" 1",然后为先前保存的行(如果有)为字段提供值。

让我知道这是否有帮助。

我遇到了同样的问题,就我而言:

专注于警报:

...对家庭的不可用的字段"评论" ...

  • 模型:家庭
  • 字段:评论

只需在模型家族的字段评论中添加一个attr:

default=''

您可以添加以下内容:default=Nonedefault="something"add null=Trueblank=True

相关内容

  • 没有找到相关文章

最新更新