如果没有自己的模板方法,就无法在模板中调用模型的方法。因此,要显示评论的赞成票数量:
comment.rating_set.filter(vote=1).count()
每个评论在发送到模板之前,都会添加一个rating_set成员,如下所示:
comment.rating_set = comment.rating_set.filter(vote=1).count()
很简单,但是有几种方法可以检索注释(也就是说,根据情况,有几种用于获取注释的方法)。模板经常使用。
对于每种方法,可以改变它而不是:
return commentList
它读取
return addInVotes(commentList)
其中addInVotes
只是一个循环遍历列表中每个注释的简单函数,然后运行上面的代码来添加rating_count值。
这里的问题是 - 不是在所有方法中添加这个,是否可以将代码“附加”到model.get和model.filter?我知道我可以扩展评论的模型以获得一个新定义的过滤器并获取,但还有其他方法吗?似乎dJango会隐藏在某个地方。