我正在构建一个使短网址的服务。我有型号:Django模型完整性错误:NOT NULL约束失败:
from django.db import models
class ShortURL(models.Model):
url = models.CharField(max_length = 50)
class LongURL(models.Model):
name = models.CharField(max_length = 100, null=True)
url_to_short = models.ForeignKey(ShortURL)
我已经运行以下命令:python manage.py migrate
如果我打开解释,使用python manage.py shell
并运行此代码:
>>> from appshort.models import LongURL
>>> a = LongURL(name = 'hello_long_link')
>>> a.save()
然后我得到的错误:
django.db.utils.IntegrityError: NOT NULL constraint failed: appshort_longurl.url_to_short_id
我做错了什么?
'url_to_short' FK字段是需要在您的模型,但你忘了填写它。 – danihp
你创建一个'LongURL'而不给它一个'ShortURL',这是一个错误。如果这是一个有效的情况,请按照以下所述使ShortURL字段可选:https://stackoverflow.com/questions/6619984/can-i-make-the-foreign-key-field-optional-in-django-model – l4mpi