我有一个未知的变量,我想将其用作数据存储区属性名称。我正在使用Expando,因为我知道你可以动态创建属性而无需先在db类中声明它们,但是由于属性名称未知,我无法执行此操作。我收到错误:'StoreNames'对象不支持项目分配。有没有办法解决这个问题?
class StoreNames(db.Expando):
index = db.FloatProperty()
name = "unknown"
value = "something"
store = StoreNames()
store[name] = value
store.index = 0
答案 0 :(得分:0)
使用以下代码解决:
class StoreNames(db.Expando):
index = db.FloatProperty()
name = "unknown"
value = "something"
store = StoreNames()
setattr(db, name, value)
我会早些回答,但Stackoverflow不会让我。谢谢Brent Washburne