问题描述
假设我有模型Foo
,Bar
和FooBar
。 Bar
具有对Foo
的ForeignKey引用。 FooBar
具有对Bar
的ForeignKey引用。给定一个Foo
对象,我如何最有效地收集所有相关的FooBar
对象?我不喜欢这样:
foobars = []
for bar in foo.bar_set.all():
for foobar in bar.foobar_set.all():
foobars.append(foobar)
解决方法
只需通过扩展关系即可
foobars = FooBar.object.filter(bar__foo=foo)