gpt4 book ai didi

mysql - DJANGO 中的模型有 4 个字段,其中两个字段给出错误 :"add a non-nullable field...."。我的问题是为什么其他两个字段没有给出错误

转载 作者:行者123 更新时间:2023-11-29 15:59:26 25 4
gpt4 key购买 nike

这是完整的错误:

您正在尝试向产品添加一个不可为空的字段“摘要”,但没有默认值;我们不能这样做(数据库需要一些东西来填充现有的行)。请选择修复:1)立即提供一次性默认值(将在所有现有行上设置)2)退出,让我在 models.py 中添加默认值

我的第一个问题是,为什么不是所有字段都会给我错误,即使它们是相同的字段?

第二个问题,如何在不输入以下内容的情况下解决此问题:TextField(default="any string")?

第三个问题,我使用的是mysql,如果我使用不同的数据库,我会得到同样的错误吗?

models.py

from django.db import models

class Product(models.Model):
title=models.TextField()
description=models.TextField()
price=models.TextField()
summary=models.TextField()

admin.py

from django.contrib import admin
from .models import Product

admin.site.register(Product)

命令

python manage.py makemigrations

我的管理页面有“产品”选项卡。当我在管理窗口中创建产品时,我只有两个字段。描述和价格。

最佳答案

根据错误,我认为您的数据库中存在现有行。当您想在现有表上添加新列并且您没有通过

指定该列可为空时
summary=models.TextField(null=True)

因此,您必须在迁移期间设置默认值,或者您可以在模型中定义默认值。您可以在 makemigrations 期间选择Option 1,并将'Something' 或 None 设置为默认值。

关于mysql - DJANGO 中的模型有 4 个字段,其中两个字段给出错误 :"add a non-nullable field...."。我的问题是为什么其他两个字段没有给出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56301404/

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