如何在 Django 中反转多个级别的查询对象?
How to reverse query objects for multiple levels in django?
假设我有:
Class Level1:
name = CharField()
Class Level2:
name = CharField()
level1 = ForeignKey(Level1)
Class Level3:
name = CharField()
level2 = ForeignKey(Level2)
Class Level4:
name = CharField()
level3 = ForeignKey(Level3)
假设我已经有一个Level1对象:level1,如何获取Level1的所有Level4对象?
喜欢的意思:level1.level2_set.level3_set.level4_set.
基于 docs,我会使用:
Level4.objects.filter(name="...", level3__name="...", level3__level2__name="...", level3__level2__level1__name="...")
您从要获取其对象的模型 Level4 开始,然后遵循双下划线语法的关系。
Level4.objects.filter(level3__level2__level1=my_level1_object)
假设我有:
Class Level1:
name = CharField()
Class Level2:
name = CharField()
level1 = ForeignKey(Level1)
Class Level3:
name = CharField()
level2 = ForeignKey(Level2)
Class Level4:
name = CharField()
level3 = ForeignKey(Level3)
假设我已经有一个Level1对象:level1,如何获取Level1的所有Level4对象?
喜欢的意思:level1.level2_set.level3_set.level4_set.
基于 docs,我会使用:
Level4.objects.filter(name="...", level3__name="...", level3__level2__name="...", level3__level2__level1__name="...")
您从要获取其对象的模型 Level4 开始,然后遵循双下划线语法的关系。
Level4.objects.filter(level3__level2__level1=my_level1_object)