所以我已经做了一段时间的Django项目,我即将完成它。我决定给它添加一个特性,并在我的模型中添加了一个新的外键。我创建了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")`这有什么问题吗?
发布于 2022-09-09 10:02:23
这意味着您的数据库中有会计类引用不具有PK类型值的数据。我怀疑这是因为您设置了default="",这是一个字符串(varchar)。这可以被完全删除,因为您有null=True,所以在默认情况下,当没有对会计类的引用时,您将拥有null。
您还应该删除将空字符串("")作为该字段的值的所有数据,或者将其设置为某些默认值。
https://stackoverflow.com/questions/73659411
复制相似问题