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
的{{1}} - 并且我知道基于运行时上下文我想要哪一个。
感谢您的帮助。
答案 0 :(得分:0)
简单的答案是
getattr(prop, 'some_name')