我的模型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 方法时不会提交验证错误。