1

我的模型on_delete=models.PROTECT在外键中有一个约束。当我尝试通过 modelformset_factory 程序崩溃删除引用模型时:

u'("无法删除模型 \'Zona\' 的某些实例,因为它们是通过受保护的外键引用的:\'Camping.zonaTarifaria\'", [])'

我希望 modelformset_factory 像其他验证一样处理验证错误,但不是。有没有神奇的解决方案?

我试图以这种方式将错误移动到 ValidationError (当然是在引用模型中):

class Zona(models.Model):
    codi = models.CharField(u'Codi', 
    ...

    def delete(self, *args, **kwargs):
        try:
            super(Zona, self).delete( *args, **kwargs)
        except Exception, e:
            raise ValidationError( e )

但似乎 modelformset_factory 在来自 delete 方法时不会提交验证错误。

4

0 回答 0