django-我是否可以添加一个方法,以便在;获得;或;“过滤器”;是在模型上调用的吗?

django-我是否可以添加一个方法,以便在;获得;或;“过滤器”;是在模型上调用的吗?,django,Django,如果不创建自己的模板方法,就不可能在模板中调用模型的方法。因此,要显示(比如)评论的投票数: comment.rating_set.filter(vote=1).count() 每个评论在发送到模板之前,都会添加一个评级集成员,如下所示: comment.rating_set = comment.rating_set.filter(vote=1).count() 很简单,但是有几种方法可以检索注释(也就是说,根据具体情况,有几种方法可用于获取注释)。模板经常被使用 对于每种方法,都可以对其进

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

comment.rating_set.filter(vote=1).count()
每个评论在发送到模板之前,都会添加一个评级集成员,如下所示:

comment.rating_set = comment.rating_set.filter(vote=1).count()
很简单,但是有几种方法可以检索注释(也就是说,根据具体情况,有几种方法可用于获取注释)。模板经常被使用

对于每种方法,都可以对其进行更改,而不是:

return commentList
上面写着

return addInVotes(commentList)
其中,
addInVotes
只是一个简单的函数,它循环遍历列表中的每个注释,然后运行上面的代码来添加评级计数值


这里的问题是——不是在所有方法中都添加这个,而是可以将代码“附加”到model.get和model.filter吗?我知道我可以为注释扩展模型,使其具有新定义的过滤器和get,但是还有其他方法吗?这似乎是dJango会藏在某处的东西。

看看这个物体。您可以使用其他方法创建默认管理器的子类,这些方法可以在一个位置而不是在每个视图中执行公共筛选。

看看管理器对象,它基本上就是为这个用例设计的。@Elliott嘿!把这个作为答案,我会给你打分,这正是我需要的。