toを持つUserProfile
モデルがあります。to を持つモデルもあります。OneToOneField
auth.models.User
Image
ForeignKey
User
私の見解の 1 つで、次Image
のような s の束が得られます。
Image.objects.select_related('user__userprofile')
その後、上記で取得した各画像に対して、次のことを行います。
userprofile = image.user.get_profile()
これが別のデータベース ヒットを引き起こさないことを期待していましたが、そうです。私は何を間違っていますか?
実行される SQL で.selecte_related()
a を確認できるため、 が実際にその仕事をしていると思うことに注意してください。LEFT OUTER JOIN
SELECT * FROM "myapp_image"
INNER JOIN "auth_user" ON ("myapp_image"."user_id" = "auth_user"."id")
LEFT OUTER JOIN "myapp_userprofile" ON (
"auth_user"."id" = "myapp_userprofile"."user_id")
ORDER BY "myapp_image"."uploaded" DESC, "myapp_image"."id" DESC
LIMIT 64