Django.db.utils.IntegrityError: NOT NULL constraint failed: new__inventory_app_item.accounting_class_id

Итак, я работаю над Django-проектом уже некоторое время, и вот-вот закончу его. Я решил добавить в него одну функцию и добавил новый Foreign key в мою модель. Я сделал makemigrations my_app, но когда я пытаюсь перенести его, появляется эта ошибка:

django.db.utils.IntegrityError: NOT NULL constraint failed: new__inventory_app_item.accounting_class_id

Это модель:

class AccountingClass(models.Model):
    name = models.CharField(max_length=150, default="", blank=False)
    
    def __str__(self):  
        return self.name

а это ссылка на иностранный ключ:

`accounting_class = models.ForeignKey("AccountingClass", on_delete=models.SET_NULL, default="", blank=False, null=True, help_text="The accounting class of the object")`

В чем проблема?

Это означает, что у вас в базе данных есть данные, в которых учетная ссылка класса не имеет значения типа PK. Я подозреваю, что это связано с тем, что вы установили default="", который является строкой (varchar). Это можно полностью убрать, так как у вас есть null=True, поэтому по умолчанию у вас будет null, когда нет ссылки на бухгалтерский класс.

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