Запрос списка вложенных моделей с помощью FireO в PythonPython

Программы на Python
Anonymous
Запрос списка вложенных моделей с помощью FireO в Python

Сообщение Anonymous »


Я использую FireO для взаимодействия с Google Firestore в своем приложении Python. У меня есть модель данных с вложенными списками, и у меня возникли проблемы с запросом на основе условия в этих вложенных списках.

Вот мои соответствующие модели данных:

из fireo.fields import TextField, ListField из fireo.models импортирует модель, NestedModel класс InnerModel(Модель): поле1 = ТекстовоеПоле() класс OuterModel(Модель): другое_поле = ЧисловоеПоле() поле2 = ListField(NestedModel(InnerModel)) класс Мета: имя_коллекции = "внешняя_модель" Я пытаюсь получить все объекты OuterModel, где хотя бы один из элементов field1 в списке InnerModel равно значению.

Я пробовал, но не помогло:

items = ( OuterModel.collection .filter("field2.field1", "array_contains", "value") .получать() ) Я ожидаю документы, имеющие следующую структуру:

коллекция: external_model другое_поле: 123 поле2: 0: поле1: значение1 1: поле1: значение2 2: поле1: **значение** Поскольку элемент списка в позиции 2 имеет искомое значение, я ожидаю, что будет возвращен весь объект. Конечно, InnerModel имеет и другие поля, поэтому я использую NestedModel.

Добавляю скриншот нужного документа в веб-интерфейсе Firestore:
Изображение


Как правильно выполнять запросы на основе условий во вложенном списке в FireO?

Я ценю любые идеи или примеры того, как этого добиться. Спасибо!

Вернуться в «Python»