class X(ndb.Model):
content = ndb.StringProperty()
number = ndb.IntegerProperty()
class P(ndb.Model):
unit = ndb.StructuredProperty(X, repeated=True)
Используя зритель Датастор, я мог видеть следующую хранимые данные:Как получить доступ ко всем неоднократным структурированным свойствам в GAE Python Ndb
Entity Kind P
Entity Key ag1kZXZ-bGlmZXN3YWxschoLEg1BZHZlcnRpc2VtZW50IGCAgICA4NcKDA
ID 6015428115566296
unit.content (list) [u'Apple', u'Coca Cola', u'Orange', u'Audi']
unit.number (list) [10L, 5L, 10L, 10L]
Цели: Чтобы получить доступ к различному unit.content значения (например, ' Apple 'и т. Д.)
[Я новичок в GAE Python; поэтому, пожалуйста, простите, если вопрос слишком глупый]
My (неудачная) попытка [я попробовал несколько других способов, но напрасно]:
unitv_query = P.query()
mv = unitv_query.fetch()
for a in mv.unit:
logging.info ("content=[%s]", a.content)
Я получаю следующее сообщение об ошибке:
::
File "C:\learn\eg5.py", line 495, in render_unit
for a in mv.unit:
AttributeError: 'list' object has no attribute 'unit'
Любая помощь с благодарностью
Спасибо большое. У меня есть еще одно сомнение: Как запросить для всех таких элементов («контент»), для которых значение «номер» больше 2 – gsinha
Вы читали документы https://developers.google.com/appengine/ docs/python/ndb/queries # filtering_structured_properties и попробовал такой запрос. Я не могу привести вам пример, поскольку у меня нет повторного StructuredProperty для тестирования. –