2010-01-14 73 views
0

我有以下观点,即需要从模板的“q”的值模型方法as“server ='q'”below。我试过这个,但是失败了。在结束之前不能完成,请有人告诉我一定。具有可变

class MemoryManager(models.Manager): 
    def get_query_set(self): 
     return super(MemoryManager, self).get_query_set().filter(server='q') 
+1

MemoryManager是否被设置为服务器模型中的主管理器(例如“objects = MemoryManager”)?你必须修改get_query_set来接受参数,一个参数(q)或一组参数。为什么不在这些调用的经理上做一个单独的方法? – Tom 2010-01-14 20:01:41

+0

不,这是第二个:#1 objects = models.Manager()#2 memsinserver = MemoryManager() – 2010-01-14 21:49:23

回答

0

这并不完全清楚你在这里要做什么。在该函数中,您正在筛选GET变量q的值。但在经理中,您正在筛选字符串"q"

你刚才想的q值传递到Manager?如果是的话,最简单的方法是定义一个单独的管理方法:

class MemoryManager(models.Manager): 
    def filter_server(q): 
     return self.get_query_set().filter(server=q) 

现在,您可以拨打Server.memsinserver.filter_server(q)。那是你想要的吗?

+0

是的,这正是我所期待的。 – 2010-01-15 19:16:27