Django:删除带有'through'多对多字段的对象时出现完整性错误
我在使用一个中间表来处理多对多的关系:
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")
当我创建一个新的实体并分配一个新的邮箱时,一切都很顺利。但是如果我想从管理界面删除这个实体,就会出现一个完整性错误。
无法删除或更新父行: 外键约束失败 (
thedb
.theapp_entityemail
, 约束entity_id_refs_id_28f53d76782ad9c6
外键 (entity_id
) 参考theapp_entity
(id
))'
如果我先删除 EntityEmail,就没问题。
有没有办法避免这个问题?我在使用 django 1.2,不能使用 1.3 的 on_delete 选项。