Aという名前のツリーのようなDjangoモデルがあり、これはdjango-mpttによって行われました。
class A(MPTTModel):
parent = TreeForeignKey('self')
このクラスには自動的に「子」マネージャーがあるため、サブツリーを簡単に取得できます
A への FK リンクを持つ別のモデルがあります。
class SomeModel(models.Model):
link_to_a = models.ForeignKey(A)
A インスタンスの SomeModel セットを取得したい場合は、次のように実行できます。
a = A.objects.filter(blah)
a.somemodel_set.all()
質問は次のとおりです。Aモデルの下のクエリセットで各インスタンスのsomemodel_setをフェッチする最もpythonicな方法は何ですか。つまり、次の4つの例が必要です。
some_A_instance.children.all().get_all_somemodel_instances()
get_all_somemodel_instances() は、各子のセットの圧縮されたクエリセットを取得する必要があります