首页 > 解决方案 > 为什么 django 抛出完整性错误?

问题描述

我有一个非常奇怪的异常,我不知道如何处理它。到目前为止,一切正常,但是在我做了一些更改(不是在数据库本身上)之后,在我的网站上列出的 16 个对象中,当我想从管理面板中删除一个对象时,有 2 个向我抛出了这个错误:

FOREIGN KEY constraint failed

模型.py

class Products(models.Model):
    name = models.CharField(max_length=50, blank=True, null=True)
    price = models.FloatField(blank=True, null=True)
    description = models.TextField(max_length=300, blank=True, null=True)
    resealed = models.BooleanField(blank=True, null=True)
    category = models.ForeignKey(to=SubCategories, on_delete=models.CASCADE, blank=True, null=True)
    image = models.ImageField(upload_to='gallery', blank=True, null=True)
    quantity = models.IntegerField(default=1)


class SubCategories(models.Model):
    name = models.CharField(max_length=50, blank=True, null=True)
    description = models.TextField(max_length=500, blank=True, null=True)
    image = models.ImageField(upload_to='gallery', blank=True, null=True)
    par_category = models.ForeignKey(to=Categories, on_delete=models.CASCADE, blank=True, null=True, related_name="Category")

   
class Categories(models.Model):
    name = models.CharField(max_length=50, blank=True, null=True)
    description = models.TextField(max_length=300, blank=True, null=True)

我设置了 on_delete=models.CASCADE。3 天前,我对数据库进行了一些更改,将旧的 Category 表重命名为 SubCategories 并创建了一个新表 Categories。通过这一举措,我par_category为新创建的表创建了约束。在我做了一些折射后,当我试图删除它们时,16 个元素中有两个向我抛出了这个错误。

有人可以帮我解决这个问题吗?太感谢了!

标签: pythondjangosqlitedjango-modelsforeign-keys

解决方案


推荐阅读