数据存储区从变量设置属性名称

时间:2013-06-08 02:42:45

标签: python google-app-engine google-cloud-datastore

我有一个未知的变量,我想将其用作数据存储区属性名称。我正在使用Expando,因为我知道你可以动态创建属性而无需先在db类中声明它们,但是由于属性名称未知,我无法执行此操作。我收到错误:'StoreNames'对象不支持项目分配。有没有办法解决这个问题?

class StoreNames(db.Expando):
  index = db.FloatProperty()

name = "unknown"

value = "something"

store = StoreNames()

store[name] = value
store.index = 0

1 个答案:

答案 0 :(得分:0)

使用以下代码解决:

class StoreNames(db.Expando):
  index = db.FloatProperty()

name = "unknown"

value = "something"

store = StoreNames()

setattr(db, name, value)

我会早些回答,但Stackoverflow不会让我。谢谢Brent Washburne