Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用getattr指定属性_Python_Getattr - Fatal编程技术网

Python 使用getattr指定属性

Python 使用getattr指定属性,python,getattr,Python,Getattr,我尝试为一些cals的属性赋值 例如: for name in dir(modelType): if request.get(name): getattr(model, name) = request.get(name) 但请原谅: “无法分配给函数调用” 如何在不知道属性的情况下更改属性?您可以使用setattr()为属性赋值 见: 但我建议将请求数据保存在字典、专用类中,或直接访问它-除非您正在执行特定的元编程/内省,否则setattr通常是用于此工作

我尝试为一些cals的属性赋值 例如:

for name in dir(modelType):
      if request.get(name):
            getattr(model, name) = request.get(name) 
但请原谅: “无法分配给函数调用”

如何在不知道属性的情况下更改属性?

您可以使用
setattr()
为属性赋值

见:


但我建议将请求数据保存在字典、专用类中,或直接访问它-除非您正在执行特定的元编程/内省,否则setattr通常是用于此工作的错误工具。

确切地说,我正要发布相同的内容,但由于回答太快而被阻止:-)在这里从不无聊,这很不安全。如果有人在URL中传递id=参数,该怎么办?它们将覆盖现有数据。这是Django还是类似的框架?您应该使用适当的表单处理来保存数据。
setattr(model, name, request.get(name))