我有两个AUTH_PROFILE_MODULE吗?使用MyProfile.objects.get它可以工作但是使用post.moderator没有显示任何内容

时间:2016-03-12 10:16:23

标签: python django

在我的settings.py中,我有AUTH_PROFILE_MODULE = 'accounts.MyProfile' 但在我的models.py

class Post(models.Model):
    moderator = models.ForeignKey(User)

也许我应该在那里使用MyProfile而不是User。也许我遇到了这个问题: 在我的views.py

        profile = post.moderator.__class__.objects.get(username=post.moderator.username)

使用该配置文件,我的模板中有以下内容

<a href="{% url 'userena_profile_detail' post.moderator.username %}"><img src="{{ profile.get_mugshot_url }}" /></span></a> </div>   

这没有显示任何内容。但如果我在views.py

中这样做
profile = MyProfile.objects.get(user_id=request.user.id)

我得到了我个人资料的图片。我应该得到post.moderator的图像,但我得到了我的。请帮忙,我该怎么办,哪里搞砸了

1 个答案:

答案 0 :(得分:1)

我不明白为什么你会这样做。主持人用户,因此似乎没有任何理由回到课程并按用户名查询;你已经有了用户。

在任何情况下,您的查询都不会为您提供UserProfile。如果你想要,你只需要遵循User到UserProfile的关系:

profile = post.moderator.userprofile

假设您有一个从UserProfile到User的一对一字段。

另请注意,AUTH_PROFILE_MODULE早已被删除;在这种情况下,它无论如何都不会做任何事情,因为只有当你打电话给get_profile并且你没有时才会调用它。