我想获得用户帖子,但我不知道该怎么做。我使用了这种关系。如果你能帮助我,我将不胜感激
用户= a - >帖子1,帖子2帖子3
用户= b - > post4,post 3,post 5
我希望我的项目行为像这样。所以,我想根据用户查询帖子
答案 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>