Python SQLAlchemy создать in_ в текстовом столбце - PullRequest
0 голосов
/ 14 декабря 2018

Мне нужно условие в sqlalchemy, которое позволило бы мне использовать список идентификаторов, хранящихся в столбце TEXT, в качестве параметра для in_.Идентификаторы просто хранятся как 1,2,3,4.Я пытался использовать in_, но кажется, что «список», хранящийся в столбце TEXT, не является правильным способом.

Это то, что я пробовал:

filters.append(and_(Organisation.id.in_(Session.list_id), Session.token == token))

Это дает мне эту ошибку:

sqlalchemy.exc.InvalidRequestError: in_() accepts either a list of expressions, a selectable, or an "expanding" bound parameter: Column('list_id', Text(), table=<MYTABLE>)  

Поэтому я пытаюсь найти разделение, чтобы сделать что-то вроде:

filters.append(and_(Organisation.id.in_(Session.list_id.split(',')), Session.token == token))

Но функции расщепления, разрыва или любого вида диссоциации не существует!

Я пытаюсь использовать более SQL-метод, но я всегда сталкиваюсь с использованием функции, котораяне существует!

filters.append(Organisation.id.in_(ds.query(Session.list_id).filter(Session.token == token)))

Каков наилучший способ достичь этого?Моя последняя идея - создать таблицу для хранения каждого идентификатора в одной строке, но это кажется немного излишним для того, что мне нужно.Или сделайте это в отдельном запросе.

Любая подсказка будет оценена.

Спасибо

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