Как получить данные из двух таблиц, используя SQLALCHEMY - PullRequest
0 голосов
/ 25 апреля 2020

Допустим, у меня есть модель

import os    
from flask import Flask
from flask_sqlalchemy import SQLAlchemy    
db = SQLAlchemy()    
class Students(db.Model):
    __tablename__ = "students"
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String, nullable=False)
    description = db.Column(db.String, nullable=False)


class Hobbies(db.Model):
    __tablename__ = "hobbies"
    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, nullable=False)
    description = db.Column(db.String)
    student_id = db.Column(db.Integer, db.ForeignKey("students.id"), nullable=False)

Теперь в flask У меня есть следующий код

import os
from flask import Flask, render_template, request
from models import *
app = Flask(__name__)
app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://junaid:junaid@localhost:5432/UOB"
app.config["SQLALCHEMY_TRACK_MODIFICATIONS"] = False
db.init_app(app)

Теперь я получаю все записи в таблице Хобби

from sqlalchemy.sql import select

with app.app_context():
    a = Hobbies.query.all()

Я хочу получить такой результат, как

Hobby.ID, Hobby.title, Hobby.description, Student.name (фильтр Hobby.student_id = Students.id)

Я хочу напечатать все записи в таблице хобби с именем студента вкратце.

...