在Django中使用userprofile检索用户的最有效方法

Sim*_*ger 5 django performance user-profile django-select-related

在Django中,在推荐的设置中,UserProfile实例由OneToOneField与其User实例链接.

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    data = ...
Run Code Online (Sandbox Code Playgroud)

检索用户和配置文件的视图中最有效的方法是什么?我可以执行select_related()内连接查询,以获取一个数据库命中的两个对象吗?或者它总是归结为两个单独的电话?可能,Django的auth中间件甚至在调用视图之前检索用户实例...有人知道吗?

小智 1

可以使用 检索用户配置文件get_profile()

请参阅文档:https ://docs.djangoproject.com/en/dev/topics/auth/#storing-additional-information-about-users