0

如果不创建自己的模板方法,就不可能在模板中调用模型的方法。因此,要显示评论的赞成票数:

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 似乎会隐藏在某个地方。

4

1 回答 1

1

看一下Manager对象。您可以使用其他方法创建默认管理器的子类,这些方法可以在一个地方而不是在每个视图中进行通用过滤。

于 2012-06-21T22:19:24.230 回答