2012-01-18 11 views
0

私はDjangoの開発者です。逆の外字の検索の問題が残っています。問題は次のように記述されています。django逆の外字の検索

私はクエリの最適化を行っています。私はUserdjango.contrib.auth.models)への外字を持つモデルMicroMessageauthorとしています。 Userへの外部キーも持つ他のクラスもあります(例:UserProfile)。

私はMicroMessageの著者と他のモデルに関連するすべてのユーザーを取得するクエリが必要です。これは過度のクエリを使わずにその著者のUserProfileの情報にアクセスできます。私はこれを試しました:

MicroMessage.objects.select_reverse({'authors':'author_set'}) 

私を助けてください。前もって感謝します。

+0

こんにちは、ようこそ! 'MicroMessage'と' User'というモデルのコードを見せてくれますか? – aayoubi

+0

最適化しようとしているコードのサンプルを表示できますか? –

答えて

2

あなたはselect_related https://docs.djangoproject.com/en/dev/ref/models/querysets/#select-related

messages = MicroMessage.objects.select_related('author', 'author__userprofile') 

2番目のフィールド(ユーザーのプロフィール)を探しているのは、逆に外部キーですが、ドキュメントが示唆するようOneToOneFieldとして実装されている場合、示された方法で照会することができますクラス名がUserProfileの場合は上記のとおりです。