Python 列“中的空值;品牌标识”;违反NOTNULL约束-Django 2.1.7
我对django有一个问题,当我运行django shell并试图在数据库中添加一些值时,我出现了一个错误。我以前使用过python manage.py迁移和python manage.py迁移Python 列“中的空值;品牌标识”;违反NOTNULL约束-Django 2.1.7,python,django,Python,Django,我对django有一个问题,当我运行django shell并试图在数据库中添加一些值时,我出现了一个错误。我以前使用过python manage.py迁移和python manage.py迁移 >from store.models import Marque, Model charger = Model(name="Charger") charge.save() ---然后我有了这个错误,如果我创建“Marque”对象,它可以正常工作 列“marque_id”中的Null值违反not
>from store.models import Marque, Model
charger = Model(name="Charger")
charge.save()
---然后我有了这个错误,如果我创建“Marque”对象,它可以正常工作
列“marque_id”中的Null值违反not Null约束
Requirement.txt:Django==2.1.7 Django调试工具栏==1.11
psycopg2==2.7.7 psycopg2二进制==2.7.7 pytz==2018.9 sqlparse==0.2.4
您的
型号
型号包含一个名为品牌的外键
:
class Model(models.Model): #Plusieurs models pour une marque
# ...
marque = models.ForeignKey(Marque, on_delete=models.CASCADE)
或者,您可以使ForeinKey
为空,但这当然会改变建模:
class Model(models.Model): #Plusieurs models pour une marque
# ...
marque = models.ForeignKey(
Marque,
on_delete=models.CASCADE,
null=True,
default=None
)
类模型(models.Model):#豪华型模型
# ...
marque=models.ForeignKey(
品牌,
在_delete=models.CASCADE上,
空=真,
默认值=无
)
您创建了一个模型
,但没有标记
参数。由于这是一个外键
,没有默认值
,并且不能为空
,数据库不接受此项。可能重复的“非常感谢您”munch Willem,工作正常!我一直在做模特。
from store.models import Marque, Model
marque1 = Marque.objects.create(name='my_marque')
charger = Model(name="Charger", marque=marque1)
charge.save()
class Model(models.Model): #Plusieurs models pour une marque
# ...
marque = models.ForeignKey(
Marque,
on_delete=models.CASCADE,
null=True,
default=None
)