1

外部キーでリンクされた 3 つのモデルがあります。

class One(models.Model):
    ...

class Two(models.Model):
    one = models.ForeignKey(One)

class Three(models.Model):
    two = models.ForeignKey(Two)

そして私はできる:

one.two_set.all()

「One」インスタンスから関連するすべての「Two」インスタンスにアクセスします。

「1 つの」インスタンスからすべての「3 つの」インスタンスにアクセスするカスタム マネージャーを構築するにはどうすればよいですか?

インスタンスとそのマネージャーの 1 つを指定して HTML テーブルを構築するフレームワークがあるため、これが必要です。

create_child_table(instance, manager_name)

そのため、インスタンスで使用する「three_set」マネージャーを使用できれば問題ありません。

解決策 Three から One への ForeignKey を追加することになりました。KISSの哲学を思い出させてくれるあなたの回答に感謝します。

4

2 に答える 2

1

マネージャーは必要ありません。これはそれを行います:

Three.objects.filter(two__one=one)
于 2011-09-12T09:32:11.020 に答える
1

の関係を使用できます。twoあなたのケースでは、関連するモデルの小文字の名前を使用できますthree

one_tow_three = One.objects.all().values('two','two__three')
于 2011-09-12T09:49:11.067 に答える