我有一个模型“项目”,它与“位置”的比例为 1:n。意味着,有一个项目的位置历史。
位置有一个 FK 到“Room”,“Room”到“Floor”,“Floor”到“Building”。现在,我想选择当前位于特定楼层的所有项目。
我可以用列表理解来解决它,但是有没有更好的方法来用一个查询来解决它?
- 更新 -
感谢您的回答,不幸的是,它们不符合要求。为了澄清这个问题,这里有一些模型的代码片段:
class Item(models.Model):
[..]
class Location(models.Model):
item = models.ForeignKey(Item)
room = models.ForeignKey(Room)
created_at = models.DateTimeField(auto_now_add=True)
[..]
class Room(models.Model):
floor = models.ForeignKey(Floor)
[..]
class Floor(models.Model):
building = models.ForeignKey(Building)
[..]
class Building(models.Model):
[..]
我想获取当前位于特定楼层的所有项目,由楼层 ID 指定(如您在模型中看到的,可以重新定位项目)。再次感谢。