そのため、次の状況で苦労しています。
次のモデルを検討してください。
class A(models.Model):
foo = models.IntegerField(default=0)
class B(models.Model):
a_models = models.ForeignKey('A', related_name='b_models')
bar = models.IntegerField(default=0)
class bChild(B):
bla = models.IntegerField(default=0)
A のインスタンス a_instance があり、それと関係があるクラス B のすべてのインスタンスを取得したい場合は、次を使用できます。
all_b_models = a_instance.b_models.all()
私の質問は、bChilds を持つものだけを取得したい場合:
all_bChild_models = a_instance.b_models.filter(???)
「???」には何を入れればいいですか?
これに関するドキュメントは見つかりません。私がうまくいくと思うことの1つは、次を使用することです:
??? = pk__in=bChild.objects.all().values_list('pk')
ただし、django は複数テーブルの継承に対して暗黙的な後方関係を作成するため、より簡単なクエリがあるかどうか疑問に思っていました。
ありがとう、ホルヘ