ОК, я застрял. У меня есть простой объект StructuredProperty
(всего один уровень) на объекте. И во время выполнения я хочу получить значение одного из «под-свойств» на этом StructuredProperty
по имени. Например;App Engine ndb StructuredProperty __get__
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
-like StructuredProperty
, и я знаю, какой из них я хочу, основываясь на контексте выполнения.
Спасибо за любую помощь.
Что случилось с 'GetAttr (пропеллер, 'некоторое_имя')'? У меня проблемы с этим. – bossylobster
Ты был прав Бобби. Я смотрел на него назад. Пришлось отойти от компьютера и вернуться. – Jay