Как использовать SQLalchemy in_ с объектом списка? - PullRequest
0 голосов
/ 06 февраля 2020

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

MX_noaa_numbers = list(Events_df[Events_df['flareclass'].str.contains('M|X')].noaanumber.unique())

, которая создает список, такой как:

[11583,11611,11771,11777,11778,11865,12253,11967,11968,...,12673]

Но когда я попытался получить результаты, используя:

session.query(ActiveRegion).filter(sql.or_(ActiveRegion.noaa_number1.in_(MX_noaa_numbers),
                                       ActiveRegion.noaa_number2.in_(MX_noaa_numbers),
                                       ActiveRegion.noaa_number3.in_(MX_noaa_numbers))).all()

, он возвращает мне пустой список. Однако, если я напечатаю MX_noaa_numbers и скопирую вывод внутри оператора in_(), заменяющего имя объекта (MX_noaa_numbers), я получу результаты, как и должен. Я что-то упустил или я действительно столкнулся с какой-то странной ошибкой?

Спасибо!

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