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

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

在 View 内检索用户和个人资料的最有效方法是什么?
我可以执行一次select_related()内部联接查询,以使一个数据库命中两个对象吗?还是总是归结为两个单独的电话?可能,甚至在调用 View 之前,Django的身份验证中间件仍会检索用户实例……有人知道吗?

最佳答案

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

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

10-07 12:16