2011-01-31 26 views
8

分配属性我尝试值分配给一些CALSS 的属性如下所示:使用GETATTR

for name in dir(modelType): 
     if request.get(name): 
      getattr(model, name) = request.get(name) 

,但得到的excption: “不能分配给函数调用”

如何我可以在编译时不知道它们的情况下更改属性吗?

+1

这是非常不安全的。如果某人在URL中传递了id =参数会怎么样?他们会覆盖现有的数据。这是Django还是类似的框架?您应该使用适当的表单处理来保存数据。 – ironfroggy 2011-01-31 02:48:21

回答

5
setattr(model, name, request.get(name)) 

,但我建议你保存在一本字典,专用类请求数据,或者直接访问它 - 除非你做具体的元编程/内省,SETATTR往往是错误的工具为了工作。