如何在Google App Engine Expando类中创建动态字段?
-
08-10-2019 - |
题
我有一个名为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()
不隶属于 StackOverflow