我在多对多字段中使用直通表:
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
FOREIGN KEY(entity_id
)参考文献theapp_entity
(id
))'
如果我先删除EntityEmail,一切都会好的。
有没有办法避免这个问题?我使用的是django 1.2,我不能使用1.3的on_delete选项。