难以理解django fluent注释代码的工作原理

难以理解django fluent注释代码的工作原理,django,django-comments,Django,Django Comments,最近我花了一点时间在django流利的评论中挖掘。我对django有一点了解,但我完全被这个软件包的工作原理难住了 从本质上说,我不明白在哪里进行实际的查询来获取对象的注释 在函数“”中,包含注释的查询集似乎来自第67行的此调用: comment_list = context['comment_list']' 不过,我不知道填充“注释列表”的实际查询是在哪里进行的。看起来models.py中的函数可能与此有关,但我已尝试将其注释掉,不管怎样,注释仍会显示在页面上 最后,我不明白外键与用户的关系

最近我花了一点时间在django流利的评论中挖掘。我对django有一点了解,但我完全被这个软件包的工作原理难住了

从本质上说,我不明白在哪里进行实际的查询来获取对象的注释

在函数“”中,包含注释的查询集似乎来自第67行的此调用:

comment_list = context['comment_list']'
不过,我不知道填充“注释列表”的实际查询是在哪里进行的。看起来models.py中的函数可能与此有关,但我已尝试将其注释掉,不管怎样,注释仍会显示在页面上

最后,我不明白外键与用户的关系是如何工作的。在数据库中,注释上的用户id是用户模型的外键,但当我更改FluentCommentsList时:

class FluentCommentsList(Node):
    def render(self, context):
        coms = context['comment_list']
        for c in coms:
            print c.user_id.user_picture
这将导致下面的错误,即似乎应该是用户模型的内容被解释为一个长期的错误

'long' object has no attribute 'user_picture'
有人能解释一下发生了什么吗?我真正想做的就是通过user的外键访问user_picture字段,但是更好地理解代码也会很好


非常感谢,

Django fluent comments在
Django.contrib.comments
中使用默认的Django
Comment
模型。您看到的
FluentCommentsList
实际上是一个从调用模板接收上下文的模板标记-如果希望标记工作,则包括
comment\u列表
target\u object\u id

每个
注释
都包括给用户的
外键
。出现错误的原因是您试图访问
user\u id
上的字段,而不是
user
上的字段。如果您的
User
型号包含
User\u picture
字段,则以下操作应有效:

coms = context['comment_list']
for c in coms:
    print c.user.user_picture

啊,好吧,那是个愚蠢的错误。非常感谢你指出这一点。但是,现在我已经完成了这一部分的工作,我仍然需要修改原始的查询,以获取注释,这样我就可以添加一个与预回迁相关的查询,并避免触发对每个注释的查找以获取配置文件图片。如果你知道在哪里会发生这种情况,看起来它必须是我指出的查询,但是修改它似乎不会改变什么。有什么想法吗?我现在已经弄明白了,它是从评论应用程序得到的。谢谢你的回答,我已经接受了,因为它当时对我帮助很大。如何删除评论日期和那个?表示如何修改即时发布后评论的显示方式。