我有一个名为Widget的DB Expando类。

我将传递一个JSON字符串并将其转换为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”作为我的字段名称,而不是dict中的k值。

有帮助吗?

解决方案

语法 widget.k 引用属性 k 在对象上 widget. 。至 动态 选择您设置的属性,使用内置 setattr 方法:

setattr(widget, k, v)

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

其他提示

尝试:

for k, v in fields.items()
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top