ForeignKey
の特定モデルのモデルにアクセスする必要があります。Django:ForeignKeyのモデルにアクセスするには?
ここではサンプルコードです:もちろん
class modelA(models.db):
field1 = models.ForeignKey('modelB')
class modelB(models.db):
pass
## below is the pseudo code
modelA.get_model_of_fk('field1').objects.all() # fetch all objects of modelB
は関与modelA
のインスタンスがある場合、それはとても簡単になります。しかし、私はちょうどmodelA
のインスタンスを作成せずにそれを行う方法を見つけることができません。
私の現在のソリューション:
instance_of_a = modelA.objects.all()[0]
model_b = instance_of_a.field1.__class__
model_b.objects.all() # fetch all objects of modelB
@jpicはSO私は2日間で、私自身の答えを受け入れることができることを教えてくれました。 – yegle
素晴らしい、ありがとう、yegle! – jpic
Djangoには、これを実装するためのフレームワークがあります。下の私の答えを見てください。あなたが実装したことは、おそらく内部的に同じことをしますが、私はそれが何が起こっているかについて非常にきれいではないと思います。 – zsquare