A SportsClass
имеет много Courses
. Я хочу иметь возможность получить только те курсы, которые доступны.Фильтрация модели на родственной модели по-прежнему показывает связанные объекты, отфильтрованные
Я попытался следующие:
sports_classes = db.session.query(SportsClass).join(Course).filter((SportsClass.description.contains(query))|(SportsClass.name.contains(query)))
sports_classes = sports_classes.filter((Course.bookable == "bookable") | (Course.bookable == "waitingList"))
Однако результат, возвращаемый этим запросом (преобразованные в JSON и упрощенный):
[
"description": "description",
"courses": [
{
"name": "Name",
"bookable": "waitingList",
},
{
"name": "Keine Angaben",
"bookable": "canceled",
}
],
}
]
Почему отмененный курс также в наборе результатов ? Как я могу получить только доступные курсы для каждого класса?
возможно дубликат [Может содержание отношений быть фильтруется при запросе родительской модели?] (http://stackoverflow.com/questions/26787222/can-the-contents-of-a-relationship-be-filtered-when-querying-parent-model) – davidism