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