@aial

Как вывести данные из связанные таблиц в Flask используя библиотеку SQLAlchemy?

Как вывести данные из связанные таблиц в Flask вот код модели
class Session_cinema(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    film_id = db.Column(db.Integer(), db.ForeignKey('film.id'))
    time = db.Column(db.DateTime)
    data = db.Column(db.DateTime)
    hall = db.Column(db.String(100))
    session_price = db.Column(db.Integer())

    def __init__(self, time, data, hall, session_price):
        self.time = time
        self.data = data
        self.hall = hall
        self.session_price = session_price
ForeignKey связывает эту таблицу с другой таблицей вот код этой модели
class Film(db.Model):
    id = db.Column(db.Integer(), primary_key = True)
    name = db.Column(db.String(80))
    description = db.Column(db.String(255))
    cast = db.Column(db.String(80))
    genre = db.Column(db.String(15))
    length = db.Column(db.Integer())
    ageRestriction = db.Column(db.Integer())

    def __init__(self, name, description,cast, genre, length, ageRestriction):
        self.name = name
        self.description = description
        self.cast = cast
        self.genre = genre
        self.length = length
        self.ageRestriction = ageRestriction
нам нужно вывести данные из таблицы film имя фильма. Вот код который отправляет список данных из таблицы Session_cinema
@app.route('/session/list', methods=['POST', 'GET'])
def session_list():
    return render_template('session_list.html', items=Session_cinema.query.all())
HTML
<tbody>
                        {% for item in items %}
                        <tr>
                            <td>{{ item.time }}</td>
                            <td>{{ item.data }}</td>
                            <td>{{ item.hall }}</td>
                            <td>{{ item.session_price }}</td>
                        </tr>
                        {% endfor %}
                    </tbody>
там перед time должен быть имя фильма.
  • Вопрос задан
  • 1554 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Flask
Седой и строгий
Определите в модели Session_cinema отношение с Film
class Session_cinema(db.Model):
    film_id = db.Column(db.Integer(), db.ForeignKey('film.id'))
    ...
    film = relationship('Film')

Тогда можно будет в шаблоне написать
<td>{{ item.film.name }}</td>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы