10
私はクエリを最適化しようとしていますが、prefetch_relatedはリレーションテーブルからのIDのリストのみが必要でも、テーブルの結合とすべてのフィールドの選択を主張しています。django prefetch_related id only
あなたは第四のクエリを無視することができます。それは質問に関連していません。
関連コード:
class Contact(models.Model):
...
Groups = models.ManyToManyField(ContactGroup, related_name='contacts')
...
queryset = Contact.objects.all().prefetch_related('Groups')
lol、よく再生されます。ここで、あなたのクッキーを持ってください。 :) – demux
PostgresのDjango 1.11では、プリフェッチされたオブジェクトの外部キーをさらに選択する必要がありました。そうでなければ、Djangoは各プリフェッチされたオブジェクトに対して外部キーを選択するDBルックアップを行っていました(プリフェッチなしより悪い)。この例では、変更は次のようになります: 'queryset = Group.objects.all()。only( 'id'、 'contact_id'))' – erikreed
それはコンテンツタイプではうまくいかない – valignatev