En Django, en una configuración recomendada, una instancia de UserProfile está vinculada por OneToOneField con su instancia de usuario.La manera más eficiente de recuperar usuarios con el perfil de usuario en Django
class UserProfile(models.Model):
user = models.OneToOneField(User)
data = ...
¿Cuál es la forma más eficiente dentro de una vista para recuperar tanto el usuario como el perfil? ¿Puedo hacer una consulta de combinación interna select_related() para obtener ambos objetos con un hit de base de datos? ¿O siempre se reduce a dos llamadas por separado? Posiblemente, el middleware de autenticación de Django recupera la instancia del usuario incluso antes de que se llame a la vista ... ¿Alguien sabe?
para proporcionar más detalles: El perfil puede ser recuperada a través de request.user.userprofile o request.user.get_profile(). Sin embargo, ambos resultan en dos aciertos de base de datos. Mi pregunta es: ¿podemos reducir esto a una sola consulta de unión interna utilizando select_related ... y si es así: ¿es esto más eficiente que la forma "habitual"? –