如何在 Google App Engine Expando 类中创建动态字段?
我有一个名为 widget 的数据库扩展类。
我传入一个 json 字符串并将其转换为字典,然后将其添加到数据存储中。
我的问题是如何循环遍历我的字典来创建动态字段。
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 值。
I have a db expando class called widget.
I'm passing in a json string and converting it to a dict and then adding it to the datastore.
My question is how can I loop through my dict to create dynamic fields.
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
This renders "k" as my field name as oppose to the k value in the dict.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
语法
widget.k
引用对象widget
上的属性k
。要动态选择您设置的属性,请使用内置< code>setattr 方法:动态设置这样的属性将在该特定实体上创建字段。
The syntax
widget.k
references the attributek
on objectwidget
. To dynamically choose which attribute you set, use the built-insetattr
method:Dynamically setting an attribute like this will create the field on that particular entity.
尝试:
Try: