如何在 Google App Engine expando 类中创建动态字段?

Posted

技术标签:

【中文标题】如何在 Google App Engine expando 类中创建动态字段?【英文标题】:How to create dynamic fields in Google App Engine expando class? 【发布时间】:2011-05-08 19:50:43 【问题描述】:

我有一个名为 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 值相反。

【问题讨论】:

【参考方案1】:

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

setattr(widget, k, v)

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

【讨论】:

【参考方案2】:

试试:

for k, v in fields.items()

【讨论】:

以上是关于如何在 Google App Engine expando 类中创建动态字段?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Google Cloud Functions 和 Google App Engine 之间进行选择?

如何在 Google App Engine 中创建版本号

如何在 Google App Engine 中执行全文搜索?

如何在 Django/Google App Engine 中制作日志颜色?

如何在 Google App Engine 上部署 Ktor 应用程序?

如何在 Google App Engine 中包含第三方 Python 库?