Ошибка ограничения Django NOT NULL на мнимом поле
Я получаю следующую ошибку.
django.db.utils.IntegrityError: NOT NULL constraint failed: doctor_owner.doc_name
.
Эта ошибка возникает в первую очередь, когда я сохраняю информацию о владельце с помощью .save(), и ошибка выдается на doc_name, которого нет в определении модели класса Owner. Я не понимаю, почему она выдает такую ошибку.
Моя модель прилагается ниже: .
Вот описание моей модели:
from django.db import models
# Create your models here.
from base.models import BaseModel
class Owner(BaseModel):
owner_id = models.CharField(max_length=50)
owner_name = models.CharField(max_length=250)
class Pet(BaseModel):
owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
pet_name = models.CharField(max_length=100)
pet_age = models.DecimalField(max_length=3, decimal_places=2, max_digits=50)
pet_specie = models.CharField(max_length=250)
pet_gender = models.CharField(max_length=1)
class Medicine(BaseModel):
medicine_name = models.CharField(max_length=250)
frequency = models.CharField(max_length=100)
duration = models.CharField(max_length=100)
class Prescription(BaseModel):
pet = models.ForeignKey(Pet, on_delete=models.CASCADE)
medicine = models.ForeignKey(Medicine, on_delete=models.CASCADE)
class Treatment(BaseModel):
pet = models.ForeignKey(Pet, on_delete=models.CASCADE)
owner = models.ForeignKey(Owner, on_delete=models.CASCADE)
doc_name = models.CharField(max_length=250)
prescription = models.ForeignKey(Prescription, on_delete=models.CASCADE)
В таблице лечения у вас есть ссылка как внешний ключ к владельцу; попробуйте поставить эквивалент 'nullable=True' или дать ему значение по умолчанию
почему бы не поставить
doc_name = models.CharField(max_length=250, null = True) попробовать работает
Проблема заключалась в повреждении файла db.sqlite3 проекта Django. Удаление этого файла и повторная миграция устранили проблему.