Ошибка ограничения 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. Удаление этого файла и повторная миграция устранили проблему.

Вернуться на верх