2011-01-31 33 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往往是錯誤的工具爲了工作。