ManyToManyFieldを使っている時に、参照先のモデル
(以下例では、Author ) を結合した状態でのクエリを出したいです。
1対多のリレーションでは、select_related() を使って、参照先を結合して、
一回のクエリで済ませる事ができるのですが、多対多の場合、
その方法がわかりません。
どなたかご存知の方、ご回答お願いいたします。
== 詳細 ==
無関係の方のページですが、
http://www.jjude.com/2008/05/24/handling-manytomany-field-in-django/
を例に使わせていただきます。
リンク先に書かれている
{% for item in query_list %}
{{item.title}}
{% for author in item.authors.all %}
{{
author.name}}
{%endfor %}
{% endfor %}
という方法では、item(Book) の数だけAuthor へのクエリが発生してしまい、
itemの数に比例してコストがかかり、パフォーマンスが悪化してしまいます。
これを、あらかじめ、LEFT INNER JOIN して
「Authorモデルのリストを持つBookモデルのリスト」
を得るためには、どのような方法があるのでしょうか。
ご存知の方、ご教授お願いいたします。