#python #sqlalchemy
#python #sqlalchemy
Вопрос:
Использование filter_by
после объединения приводит к ошибке, поскольку SQLAlchemy пытается найти этот столбец в объединенной таблице вместо исходного.
Есть ли способ обойти это? Например, отсоединение после фильтрации по чему-либо из другой таблицы.
Например, скажем, я фильтрую строки из таблицы A из-за связи с определенным набором строк в таблице B. После этого я хочу отфильтровать некоторые поля таблицы A, но при использовании filter_by это выдает ошибку.
Комментарии:
1. Пожалуйста, покажите нам ваш код и ошибки.
Ответ №1:
Вы можете использовать filter
. Это похоже filter_by
, но вы явно используете выражения столбцов вместо аргументов ключевых слов. Это позволяет вам указать таблицу, столбец которой вы хотите:
joined_query.filter(A.field == something)
Ответ №2:
Использование filter_by:
join_query.filter_by(Table.column1='value')
Использование фильтра:
join_query.filter(Table.column1 == 'value')