0

私は2つのモデルを持っています。父と息子のモデル。そして、息子モデルの関係は次のとおりです。

father = models.ForeignKey(Father, related_name="father")

現在、実際のデータベースには 5 人の父親がいて、それぞれの父親には 5 人の息子がいます。20歳の息子を探しています。

father = Father.objects.all()
#how to find all sons with age 20?
4

1 に答える 1

1

タイトルが質問と完全に一致しておらず、質問に情報がありません。しかし、これはあなたが望むものですか?

fathers = Fathers.objects.all()
sons = Son.objects.filter(father__in=fathers, age=20)

しかし、すべての息子に父親がいると仮定すると、次のように書くことができます。

sons = Son.objects.filter(age=20)

1 人の父親から 20 歳のすべての息子を探している場合:

father = Fathers.objects.get(id=101)
sons = Son.objects.filter(father=father, age=20)

これは、父と息子のモデルが異なることを前提としています(これは良い設計上の決定ではありませんが、あなたの質問から私が理解していることです)。

于 2013-05-09T14:25:09.323 に答える