Google app engine 应用程序引擎ndb结构属性__

Google app engine 应用程序引擎ndb结构属性__,google-app-engine,app-engine-ndb,Google App Engine,App Engine Ndb,好吧,我卡住了。我在一个实体上有一个简单的StructuredProperty(只有一级深度)属性。在运行时,我想按名称获取StructuredProperty上的一个“子属性”的值。比如, class Address(ndb.Model): street = ndb.StringProperty() # ... class Person(ndb.Model): # ... address = ndb.StructuredProperty(Address) 然后在运行时,我希

好吧,我卡住了。我在一个实体上有一个简单的
StructuredProperty
(只有一级深度)属性。在运行时,我想按名称获取
StructuredProperty
上的一个“子属性”的值。比如,

class Address(ndb.Model):
  street = ndb.StringProperty()
  # ...

class Person(ndb.Model):
  # ...
  address = ndb.StructuredProperty(Address)
然后在运行时,我希望能够执行以下操作:

prop = entity._properties['address']
sub_prop = prop.__getattr__('street')
value = sub_prop.__get__(entity, Person)
或者使用
GenericProperty
或任何最有效的方法来实现它。但我已经尝试了一些变化,我显然遗漏了一些东西。当然,我之所以要这样做,是因为确实有许多命名的
地址
——比如
StructuredProperty
,并且我根据运行时上下文知道我想要哪一个


谢谢你的帮助

鲍比是对的。我是在看房产,而不是我所想的房产价值(漫长的一天)

简单的答案是

getattr(prop, 'some_name')

getattr(prop'some_name')有什么问题
?我在这件事上遇到了麻烦,你是对的,鲍比。我在向后看。不得不离开电脑回来。