好吧,我卡住了。我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
或任何最有效的方法。但是我已经尝试了许多变体,但我显然遗漏了一些东西。当然,我想这样做的原因是确实有许多类似命名Address
的StructuredProperty
,并且我知道根据运行时上下文我想要哪一个。
谢谢你的帮助。