Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.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中将值从字典复制到对象中_Python_Django - Fatal编程技术网

在Python中将值从字典复制到对象中

在Python中将值从字典复制到对象中,python,django,Python,Django,我有一个字典,我想遍历它,并将键值对复制到Python中的一个对象中。字典是POST,对象是模型(在Django中,也许Django有更好的方法来实现这一点) 在PHP中,我可以使用变量赋值: foreach($post as $key => $value) { $my_model->$key = $value; } for(var key in post) { my_model[key] = post[key]; } 在Javascript中,我可以使用数组赋值

我有一个字典,我想遍历它,并将键值对复制到Python中的一个对象中。字典是POST,对象是模型(在Django中,也许Django有更好的方法来实现这一点)

在PHP中,我可以使用变量赋值:

foreach($post as $key => $value) {
    $my_model->$key = $value;
}
for(var key in post) {
    my_model[key] = post[key];
}
在Javascript中,我可以使用数组赋值来处理对象:

foreach($post as $key => $value) {
    $my_model->$key = $value;
}
for(var key in post) {
    my_model[key] = post[key];
}

然而,我似乎不能在Python中这样做。我看到的唯一方法是使用objects
\uuuuu dict\uuuuu
属性,它感觉有点脏。此外,它还可能引发键错误。

您可以使用setattr,但在您的上下文中使用它可能是错误的。你应该先看看Django的模型。

我已经看过模型了。我和他们之间的问题是,如果我没有发布模型的所有值,它就会抱怨。我最初的目标是从数据库中检索模型,更改我发布的属性,然后将其保存回去,如果您没有正确使用表单。如果您不想发布所有值,请使用
exclude
将它们从字段中排除(或
字段
仅包括您需要的值)。我认为oggy说得对,他应该深入研究ModelForms。并不是说他的方法不起作用,这也是他所要求的,但他确实将问题标记为django…事实上,我将其标记为django,以防出现一个答案,这是用django做事情的更好方法,可能像模型一样。。。