我正在与这两个(示范)车型Django项目数据库并将租户与公寓而不是建筑联系起来。因此,我现在计划迁移到以下三种模式:ForeignKey的关系和迁移在Django
Tenant: id, Aparment(ForeignKey), User(ForeignKey), NameOfTenant(CharacterField)
Apartment: id, Building(ForeignKey), RoomNumber(Interger), Address(CharacterField)
Building: id, DateWhenItWasBuild(Date)
首先,我增加了单元模型/桌,并与来自建筑物表(地址和建筑物的外键)的信息来填充它。其次,我将公寓的外键字段添加到租户模型。
如果我现在要引用的租户表公寓ID的公寓(这反过来引用到大楼),我得到一个外键约束的例外:
(1452, 'Cannot add or update a child row: a foreign key constraint fails
(`database`.`tenant_tenant`, CONSTRAINT `apartment_id_refs_id_5dfbfc78bb68defd`
FOREIGN KEY (`apartment_id`) REFERENCES `property_apartment` (`id`))')
我不太清楚为什么会发生这种情况,但我怀疑它可能导致以下问题: Tentant拥有建筑外键和公寓外键。然而,公寓也有建筑的外键。
在接下来的步骤中,我会在租户中添加参考到公寓,然后删除对建筑物的参考。这里的问题是,我不能先删除建筑物参考,然后添加公寓参考,因为我会失去住房建筑/公寓的信息。
有没有人有一个想法,如果这是问题,还是我错过了完全不同的东西?
我试图找出为什么会发生这种情况,似乎上述关系问题不是原因。 – phoxley