Я использую клиент Python для облачного хранилища данных Google, чтобы записать сущность в хранилище данных, которое содержит встроенную сущность. Пример объекта может выглядеть следующим образом:
data_type: 1
raw_bytes: <unindexed blob>
values: <indexed embedded entity>
Я проверил данные с консоли, данные сохраняются правильно и значения присутствуют.
Далее мне нужно выполнить запрос из приложения механизма приложений Python. Я представил это как следующую сущность в коде моего движка приложения:
class DataValues(ndb.Model):
param1 = ndb.BooleanProperty()
param2 = ndb.IntegerProperty()
param3 = ndb.IntegerProperty()
class MyEntity(ndb.Expando):
data_type = ndb.IntegerProperty(required=True)
raw_bytes = ndb.BlobProperty()
values = ndb.StructuredProperty(DataValues)
Один из фильтров в запросе зависит от свойства в values
. Пример кода запроса приведен ниже:
MyEntity.query().filter(MyEntity.data_type == 1).filter(MyEntity.values.param1 == True).get()
Я создал соответствующий составной индекс в моем index.yaml
Запрос выполняется успешно, но результирующий объект содержит встроенный объект values
как None. Все остальные значения свойств присутствуют.
В чем здесь проблема?