如何在django中

时间:2016-01-11 21:37:22

标签: python django

我想获得用户帖子,但我不知道该怎么做。我使用了这种关系。如果你能帮助我,我将不胜感激

用户= a - >帖子1,帖子2帖子3

用户= b - > post4,post 3,post 5

我希望我的项目行为像这样。所以,我想根据用户查询帖子

1 个答案:

答案 0 :(得分:2)

所以答案取决于您的model设置。

例如,如果你的models.py看起来像这样:

class Post(models.Model)
    user = models.ForeignKey(User)
    content = models.CharField(max_length=500)
    ...

    def __str__(self):
        return self.user

然后,如果您想要登录的用户的所有帖子,您可以使用此代码,例如,在您的请求中,您将使用filter过滤掉与特定参数匹配的相应帖子(在本例中为user):

def index_page(request):
    logged_in_user = request.user
    logged_in_user_posts = Post.objects.filter(user=user)

    return render(request, 'index.html', {'posts': logged_in_user_posts})

然后,例如,您可以在index.html文件中操纵此查询集

<div>
{% for post in posts %}

    Username: {{ post.user.username }}
    Post: {{ post.content }}

    <br>

{% endfor %}
</div>