我有一个字典,我想迭代并将键值对复制到Python中的对象中。字典是POST,对象是模型(在Django中,也许Django有更好的方法可以做到这一点)。
在PHP中,我可以使用变量赋值:
foreach($post as $key => $value) {
$my_model->$key = $value;
}
在Javascript中,我可以使用数组赋值处理对象:
for(var key in post) {
my_model[key] = post[key];
}
但是,我似乎无法在Python中这样做。我见过的唯一方法是使用对象__dict__
属性,它感觉有点脏。另外它可以引发KeyErrors。
答案 0 :(得分:5)
for key, value in post.iteritems():
setattr(my_model, key, value)
答案 1 :(得分:4)
您可以使用setattr,但在您的上下文中执行此操作可能是错误的。你应该首先看看Django的ModelForms documentation。