Django的:诚信误差与“到”多到许多领域

问题描述:

我在许多对许多领域使用,通过表中删除的对象时:Django的:诚信误差与“到”多到许多领域

class EmailType(models.Model): 
    name = models.CharField(max_length=200) 

class Email(models.Model):   
    email = models.EmailField(max_length=200) 
    type = models.ForeignKey(EmailType,blank=True,null=True,default='') 

class EntityEmail(Email):   
    entity = models.ForeignKey("Entity") 

class Entity(models.Model): 
    name = models.CharField(max_length=200) 
    emails = models.ManyToManyField(Email,through="EntityEmail") 

如果我创建一个新的实体并分配一个新的电子邮件。一切顺利。 但是,如果我想从管理员中删除此实体,则会引发完整性错误。

不能删除或更新父行: 一个外键约束失败 (thedbtheapp_entityemail, 约束 entity_id_refs_id_28f53d76782ad9c6 外键(entity_id)参考文献 theapp_entityid))”

如果我先删除EntityEmail,一切都可以。

有没有办法避免这个问题?我使用的是django 1.2,我无法使用1.3的on_delete选项。

您可以在实体模型上覆盖Model.delete()方法以匹配on_delete的功能,如果这真的是您以前的样子。