我的模型在外键中有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方法时不会发出验证错误。