gpt4 book ai didi

python - “marque_id” 列中的空值违反了非空约束 - Django 2.1.7

转载 作者:行者123 更新时间:2023-12-01 01:12:28 27 4
gpt4 key购买 nike

我在 django 方面遇到了问题,当我运行 django shell 并尝试在数据库中添加一些值时,出现错误。我之前使用过 python manage.py migrate 和 python manage.py migrate 。

>from store.models import Marque, Model
charger = Model(name="Charger")
charge.save()

--- 然后我有这个错误,如果我创建“Marque”对象,它工作正常

Null value in column “marque_id” violates not-null constraint

from django.db import models

# Create your models here.

class Contact(models.Model):
email = models.EmailField(max_length=100)
name = models.CharField(max_length=200)

class Marque(models.Model):
name = models.CharField(max_length=200, unique=True)


class Model(models.Model): #Multiples Model to One Marque
reference = models.IntegerField(null=True)
created_at = models.DateTimeField(auto_now_add=True)
available = models.BooleanField(default=True)
name = models.CharField(max_length=200)
picture = models.URLField()
marque = models.ForeignKey(Marque, on_delete=models.CASCADE)

class Booking(models.Model): #mutliples Booking to one Contact
created_at = models.DateTimeField(auto_now_add=True)
contacted = models.BooleanField(default=False)
marque = models.OneToOneField(Marque, on_delete=models.CASCADE)
model = models.OneToOneField(Model, on_delete=models.CASCADE)
contact = models.ForeignKey(Contact, on_delete=models.CASCADE)

Requirement.txt: Django==2.1.7 django-debug-toolbar==1.11 psycopg2==2.7.7 psycopg2-binary==2.7.7 pytz==2018.9 sqlparse==0.2.4

最佳答案

您的Model模型包含一个名为marqueForeignKey:

class Model(models.Model): #Plusieurs models pour une marque
# ...
<b>marque</b> = models.ForeignKey(Marque, on_delete=models.CASCADE)

这是一个不可为 NULL 的 ForeignKey(它不包含 null=True 作为参数),但您没有提供对 的引用Marque 对象,因此出现错误。

为了解决这个问题,您必须提供一个 Marque 对象,例如:

from store.models import Marque, Model

<b>marque1 = Marque.objects.create(name='my_marque')</b>

charger = Model(name="Charger"<b>, marque=marque1</b>)
charge.save()

或者您可以使 ForeinKey 可为空,但这当然会改变建模:

class Model(models.Model): #Plusieurs models pour une marque
# ...
marque = models.ForeignKey(
Marque,
on_delete=models.CASCADE,
<b>null=True,
default=None</b>
)

关于python - “marque_id” 列中的空值违反了非空约束 - Django 2.1.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54723159/

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