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

时间:2012-07-15 06:48:27

标签: django performance user-profile django-select-related

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

class UserProfile(models.Model):
    user = models.OneToOneField(User)
    data = ...

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

1 个答案:

答案 0 :(得分:1)

可以使用get_profile()检索用户个人资料。

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