代码之家  ›  专栏  ›  技术社区  ›  seanmonstar

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

  •  0
  • seanmonstar  · 技术社区  · 15 年前

    我有一个字典,我想遍历它并将键值对复制到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__ 而且感觉有点脏。此外,它还可以提高键值错误。

    2 回复  |  直到 15 年前
        1
  •  5
  •   Denis Otkidach    15 年前
    for key, value in post.iteritems():
        setattr(my_model, key, value)
    
        2
  •  4
  •   oggy    15 年前

    你可以使用StAtTrac,但是在你的上下文中可能是错误的。你应该看看Django的 ModelForms documentation 第一。