2016-09-03 4 views
1

У меня есть таблицы, как это:SQLAlchemy Регистрация запроса

Box

| - вопросы []

Выпуск

| - status_id

| - статус (связанные через status_id)

Статус

| - идентификатор

Я хочу, чтобы все коробки, где поле «проблемы» для каждого ящика будет содержать только вопросы, которые не имеют status_id = 5. Ниже не работает

db.session.query (Box) .join (Issue) .filter (Issue.status_id! = 5) .all()

Что не так с вышеуказанным кодом?

ответ

1

Если я правильно понял вашу ситуацию, я думаю, что следующее, что вы ищете:

db.session.query(Box).outerjoin(Box.issues).filter(or_(Issue.status_id.is_(None), Issue.status_id != 5)).options(contains_eager(Box.issues)).all() 
Смежные вопросы