2つのキーで2つのQuerySetをマージしたいと思います。
class ModelA(models.Model)
text = models.CharField(max_length=10)
class ModelB(models.Model)
value = models.CharField(max_length=10)
model_a = models.ForeignKey(ModelA)
additionalkey = models.CharField(max_length=10)
すべてのModelAオブジェクトにクエリセットがすでにあり、追加のキーに応じて、ForeignKey-RelationShipからModelAへの2番目のモデル(ModelB)からの対応するエントリが必要であるとします。これを達成するための最速かつ最も効率的な方法は何でしょうか?
すべてのエントリをループしてこれを行うと、ModelA-QuerySetのすべてのエントリのデータベースがヒットします。
私の考えは、すべてのModelBオブジェクトを一度に取得し、ForeignKeyとadditionalkeyが適合する完全なModelAセットと結合/マージすることです。
誰かにアイデアやヒントはありますか?
編集:
わかりました、正確には。私はすでにModelAのクエリセットを持っています。結局のところ、1つのクエリセット(またはテンプレートで反復できる他の何か)に両方のテーブルからの情報を含むクエリセットが必要です。