如何在Django中获取域名url www.site.com中多个对象的pk

如何在Django中获取域名url www.site.com中多个对象的pk,django,django-models,django-views,django-forms,django-templates,Django,Django Models,Django Views,Django Forms,Django Templates,我试着建立一个博客,这个博客在主视图www.site.com中包含帖子,这些帖子有评论,现在我使用列表[]显示帖子,因为用户有能力跟踪内容,在这个列表中,我根据用户显示内容,现在我成功地展示了帖子,但这篇帖子包含的评论意味着我需要获得帖子的pk,但正如我在主页视图www.site.com中所说的,没有任何额外的URL,据我所知,这意味着我无法在def home\u屏幕视图中通过pk(请求,pk)因为此引发错误home\u screen\u view()缺少1个只需关键字的参数:“pk” 那么我的

我试着建立一个博客,这个博客在主视图
www.site.com
中包含帖子,这些帖子有评论,现在我使用列表[]显示帖子,因为用户有能力跟踪内容,在这个列表中,我根据用户显示内容,现在我成功地展示了帖子,但这篇帖子包含的评论意味着我需要获得帖子的pk,但正如我在主页视图
www.site.com
中所说的,没有任何额外的URL,据我所知,这意味着我无法在
def home\u屏幕视图中通过pk(请求,pk)
因为此引发错误home\u screen\u view()缺少1个只需关键字的参数:“pk”

那么我的问题是如何在基本url
www.site.com
我的看法

def home_screen_view(request, *args, **kwargs):
        users = [user for user in profile.following.all()]
        post = []
        for u in users:
            p = Account.objects.get(username=u)
            posts = p.post_set.all()
            post.append(posts)
        my_posts = request.user.post_set.all()
        post.append(my_posts)
        if len(post):
            post= sorted(chain(*post), reverse=True, key=lambda post: post.created_date)
        posts = Post.objects.filter(pk=post.pk)  # here I want to get the pk of the post in order to show the comments related this post
        comment = PostCommentIDE.objects.filter(post=posts)
网址

path('', home_screen_view, name='home'),
我的后模特

class Post(models.Model):
    author = models.ForeignKey(Account, on_delete=models.CASCADE)
    article = models.TextField(null=True, blank=True)
    photo_article = models.ImageField(max_length=255, upload_to=get_poster_filepath)
    created_date = models.DateTimeField(auto_now_add=True)
我的评论模式

class PostCommentIDE(models.Model):
    post = models.ForeignKey(Post, on_delete=models.CASCADE, related_name='ide_com')
    author = models.ForeignKey(Account, on_delete=models.CASCADE)
    content = models.TextField()
    created_date = models.DateTimeField(auto_now_add=True)
帖子模板

{% for post in posts %}
  ...
#here I want to render the comments that related to spesific post
            {% for comment in comments %}
                {{ comments.content }}
             {% endfor %}
  ...
{% endfor %}

我使用基于函数的视图

从您的主屏幕视图可以删除

comment = PostCommentIDE.objects.filter(post=posts)
相反,您可以在模板中执行以下操作:

{% for comment in post.ide_com.all %}
    {{ comments.content }}
{% endfor %}
说明:


您的评论模型
PostCommentIDE
Post
具有外键关系。这使您能够获取帖子的相关评论。默认情况下,您可以使用
post.postcommentide\u set.all
访问注释,但当您在该关系上定义了相关的\u name属性时,它将变成
post.ide\u com.all
。在这里阅读更多信息:

你不能在模板中做
{%post.ide_com.all%}
?你能澄清一下这
post.ide_com.all
come@Ahmed当然,我会把它加在这里answer@Ahmed查看我的编辑并给出解释