删除对象时出现Django IntegrityError

时间:2011-11-03 17:47:12

标签: mysql django

我有2个模型,帖子和类别:

class Category(models.Model):
    # some fields

class Post(models.Model):
    category = models.ForeignKey(Category, related_name='posts',
                                 on_delete=models.SET(get_default_category()))

get_default_category基本上只是get_or_create的快捷方式。

当我尝试删除某个对象时(使用.delete()或来自admin应用程序),我得到以下异常:

IntegrityError: (1451, 'Cannot delete or update a parent row: a foreign key constraint fails (`tatatata`.`discussions_post`, CONSTRAINT `category_id_refs_id_783afa2fc9c73207` FOREIGN KEY (`category_id`) REFERENCES `discussions_category` (`id`))')

怎么了?

1 个答案:

答案 0 :(得分:2)

尝试传递可调用而不是get_default_category()

    category = models.ForeignKey(Category, related_name='posts',
                                 on_delete=models.SET(get_default_category))
相关问题