Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 数据存储设置变量的属性名称_Python_Google App Engine_Google Cloud Datastore - Fatal编程技术网

Python 数据存储设置变量的属性名称

Python 数据存储设置变量的属性名称,python,google-app-engine,google-cloud-datastore,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]

我有一个未知变量,要用作数据存储属性名。我正在使用Expando,因为我知道您可以动态创建属性,而无需首先在db类中声明它们,但是我无法做到这一点,因为属性名称未知。我发现错误:“StoreNames”对象不支持项分配。这有什么办法吗

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

name = "unknown"

value = "something"

store = StoreNames()

store[name] = value
store.index = 0

通过使用以下代码解决:

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

name = "unknown"

value = "something"

store = StoreNames()

setattr(db, name, value)
我本来会早一点回答的,但斯塔克不让我回答。感谢Brent Washburne

使用此处描述的setattr()方法:[如何在Google App Engine expando类中创建动态字段?][1][1]: