4

我有一个名为 widget 的 db expando 类。

我传入一个 json 字符串并将其转换为 dict,然后将其添加到数据存储区。

我的问题是如何遍历我的 dict 来创建动态字段。

widget = Widget.get_by_key_name(key_name)
widget.name = self.request.get('wname')
fields = simplejson.loads(self.request.get('wcontents'))
for k,v in fields.iteritems():
  widget.k = v

这将“k”呈现为我的字段名称,与字典中的 k 值相反。

4

2 回答 2

4

语法widget.k引用kobject 上的属性widget。要动态选择您设置的属性,请使用内置setattr方法:

setattr(widget, k, v)

像这样动态设置属性将在该特定实体上创建字段。

于 2010-11-12T01:06:09.347 回答
-3

尝试:

for k, v in fields.items()
于 2010-11-12T01:06:12.513 回答