Объединение данных из нескольких таблиц с использованием SQLAlchemy - PullRequest
0 голосов
/ 14 марта 2020

У меня есть три таблицы в моей базе данных:

Links
-----------------------
id | student| class
1 | 2 | 1
2 | 1 | 1
3 | 1 | 2

Student
-----------------------
id | name | age
1 | Bob | 16
2 | Jane | 17

Class
_______________________
id | subject
1 | Math
2 | Science

Я хочу иметь возможность просмотреть таблицу ссылок, чтобы увидеть, какие учащиеся находятся в каком классе, и вернуть результаты из таблицы учащихся по каждому классу. Итак, если бы я просматривал страницу с информацией об уроках, я бы получил всю информацию об учениках этого класса. Я хочу иметь возможность использовать Sqlalchemy для выполнения этого запроса, что меня смущает, поскольку я не могу просто присоединиться к JOIN или что-то в этом роде.

Я передам информацию о классе функции в Flask, например:

@main.route('/class/<class_id>')
@login_required
def view_class(class_id):

Любая помощь будет оценена!

1 Ответ

0 голосов
/ 14 марта 2020

Вы можете попробовать это ниже, и так как ключевое слово class зарезервировано в python, вам нужно использовать другое имя столбца для таблицы ссылок, и я использовал его ниже как student_class

@main.route('/class/<class_id>')
@login_required
def view_class(class_id):

    output = session.query(Student).join(Link, Student.id == Link.student).join(Class, Link.student_class == Class.id).filter(Class.id == class_id).all()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...