是否可以动态定义函数参数的名称?

是否可以动态定义函数参数的名称?

问题描述:

现在我有这样的代码:是否可以动态定义函数参数的名称?

 attitude = request.REQUEST['attitude'] 
     if attitude == 'want': 
      qs = qs.filter(attitudes__want=True) 
     elif attitude == 'like': 
      qs = qs.filter(attitudes__like=True) 
     elif attitude == 'hate': 
      qs = qs.filter(attitudes__hate=True) 
     elif attitude == 'seen': 
      qs = qs.filter(attitudes__seen=True) 

它会是更好的动态定义“attitudes__xxxx”的名称。有没有办法做到这一点?

谢谢!

+0

重复:http://stackoverflow.com/questions/353489/cleaner-way-to-query-on-a-dynamic-number-of-columns-in-django – 2009-04-24 19:43:12

是的。

qs.filter(**{ 'attitudes__%s'%arg:True }) 
+0

谢谢!你的情况,很少修改,正常工作:qs.filter(** {'态度__%s'%str(态度):真实}) – ramusus 2009-04-25 08:23:07