「modelA」と「modelB」という 2 つの異なる Django モデルがあり、「EMAIL」と「NAME」という 2 つの列のみが共通しており、各モデルの残りの列は異なります。「modelA」から単一のオブジェクトリストを返したいが、「modelB」に「EMAIL」と「NAME」の組み合わせが重複していない...
たとえば、「modelA」に次のオブジェクトがあるとします。
EMAIL NAME SOMEFIELD
bob@email.com Bob ....
bob@email.com Robert ....
「modelB」には次のオブジェクトがあります。
EMAIL NAME ADIFFERENTFIELD
bob@email.com Bob ....
sammy@email.com Sam ....
bob@email.com Bobby ....
最終的な「modelA」クエリセットのみを返すようにします。
EMAIL NAME SOMEFIELD
bob@email.com Robert ....
このDjangoを行う最も効率的な方法は何ですか? 私が今考えることができる最善の解決策は、「modelA」クエリセットを取得し、各オブジェクトを繰り返し処理して、「modelB」に同じ「EMAIL」と「NAME」の組み合わせが存在するかどうかをテストし、存在しない場合は追加することですそのオブジェクトを新しいリストに追加します。ただし、これは非常に非効率に聞こえます。そして、私は Django の経験がほとんどありませんが、もっと良い方法があるに違いないことを知っています :) 関連する場合、私のデータベースは PostgreSQL を使用しています。前もって感謝します。