首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用django-allauth预取SocialAccount?

如何用django-allauth预取SocialAccount?
EN

Stack Overflow用户
提问于 2017-12-02 09:30:28
回答 1查看 170关注 0票数 0

Django-allauth包创建一个模型SocialAccount,向用户提供一个ForeignKey。我无法在我的查询集中预先获取这个信息。

我的模特:

代码语言:javascript
复制
class Placerating(models.Model):
    author = models.ForeignKey('auth.User', null=True, on_delete=models.SET_NULL)

Django-allauth模型:

代码语言:javascript
复制
class SocialAccount(models.Model):
    user = models.ForeignKey(allauth.app_settings.USER_MODEL, on_delete=models.CASCADE)

当我试图预取这些数据时:

代码语言:javascript
复制
rating = Placerating.objects.all().prefetch_related('author__socialaccount')

我收到以下错误消息:

代码语言:javascript
复制
AttributeError: Cannot find 'socialaccount' on User object, 'author__socialaccount' is an invalid parameter to prefetch_related()

有线索吗?谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-29 09:47:51

我得到了答案。

SocialAccount是一个反向外键,因此必须在末尾添加"_set“:

评级= Placerating.objects.all().prefetch_related('author__socialaccount_set')

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47606422

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档