使用getattr赋值属性
我试着给某个类的属性赋值,像这样:
for name in dir(modelType):
if request.get(name):
getattr(model, name) = request.get(name)
但是我遇到了一个错误: "不能给函数调用赋值"
我该怎么做才能在不知道属性名的情况下改变它们的值呢?
2 个回答
10
setattr(model, name, request.get(name))
不过我建议把请求的数据保存在一个字典里,或者用一个专门的类来存储,或者直接访问这些数据。除非你在做一些特殊的元编程或者自省操作,通常用setattr这个工具来处理这些事情是不太合适的。
25
你可以用 setattr()
来给属性赋值。
了解更多请查看: http://docs.python.org/library/functions.html#setattr