我在Django中有一个模型,我认为它需要与两个父母相关联,但我正试图找出如何编码它。
主要问题是我们得到了与Headquarter
相关联的Building
模型。每个Headquarter
通常都有一个ElectricSupply
,为总部的所有建筑供电,但也有可能每个Building
都有自己的ElectricSupply
。
此外,每个ElectricSupply
都与一个或多个按月存储的ElectricBill
模型相关联。
所以,最后我必须能够得到Headquarter
的电力消耗,无论电源是来自总部还是每个建筑。
class Headquarter(models.Model):
# ...
def get_consumption(self):
# Here I need to know where to look for the supply
class Building(models.Model):
# ...
headquarter = models.ForeignKey(Headquarter, related_name='buildings')
class ElectricSupply(models.Model):
# Here I don't know where to point, Headquarter or Building, or both?
class ElectricBill(models.Model):
# ...
supply = models.ForeignKey(ElectricSupply, related_name='bills')
希望你能帮助我。谢谢。
我认为每个建筑都应该有ElectricSupply,所以你应该从ElectricSupply指向建筑,然后如果你想找到总部,你可以很容易地从建筑中获得,你也有指向总部的外键。此外,我认为每个建筑物都应该与ElectricBill相关联,因此您应该将ElectricBill中的外键更改为指向建筑物。