【问题标题】:How to create dynamic fields in Google App Engine expando class?如何在 Google App Engine expando 类中创建动态字段?
【发布时间】: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 值相反。

【问题讨论】:

    标签: python google-app-engine datastore expando dynamic-variables


    【解决方案1】:

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

    setattr(widget, k, v)
    

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

    【讨论】:

      【解决方案2】:

      试试:

      for k, v in fields.items()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-10-19
        • 2011-07-29
        • 2023-03-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-07
        相关资源
        最近更新 更多