我正在構建一個使短網址的服務。我有型號: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