SQLAlchemy создает запрос с помощью filter_by динамически - PullRequest
0 голосов
/ 07 сентября 2018

Я новичок в python и SQLAlchemy, поэтому извините, если этот вопрос звучит очевидно: Я пытаюсь создать динамический запрос, передавая имена столбцов для фильтрации как:

filter_by={"or":{"origin_source_id":"MX01",
                   "origin_client_id":"JP0001"}} 

Я могу иметь 'или' / 'и' / '>' / '<' в качестве операторов </strong>

цель состоит в том, чтобы создать выражение вроде:

session.query(dbClass).filter(dbClass.origin_client_id=='JP0001' or dbClass.origin_source_id=='MX01') 

и если определено следующее:

filter_by={"origin_source_id":"MX01"}

чтобы создать выражение вроде:

session.query(dbClass).filter(dbClass.origin_source_id=="MX01")

и если он определен как:

filter_by={"and":{"origin_source_id":"MX01",
                           "origin_client_id":"JP0001"}}

выражение должно быть:

session.query(dbClass).filter(dbClass.origin_client_id=='JP0001' or dbClass.origin_source_id=='MX01') 

Может кто-нибудь объяснить мне, как разобрать filter_by и извлечь значения для построения выражения запроса?

Мне не удается узнать, с чего начать.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...