你可以使用 Flask 的 SQLAlchemy 扩展来操作数据库,并通过查询语句获取班级对应的所有学生数据,然后将其转换为字典格式。

下面是一个示例代码:

from flask import Flask
from flask_sqlalchemy import SQLAlchemy

app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)

class Student(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    class_id = db.Column(db.Integer, db.ForeignKey('class.id'))

class Class(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(50))
    students = db.relationship('Student', backref='class')

@app.route('/')
def get_class_students():
    class_students = {}
    classes = Class.query.all()
    for class_obj in classes:
        students = [student.name for student in class_obj.students]
        class_students[class_obj.name] = students
    return class_students

在上面的示例中,我们定义了两个模型类 StudentClass,分别对应数据库中的学生表和班级表。Student 类中的 class_id 字段是一个外键,用来关联班级表中的相应记录。

get_class_students 视图函数中,我们首先创建了一个空字典 class_students,然后通过查询 Class 模型类获取所有班级记录。对于每个班级记录,我们遍历其对应的学生记录,并将学生姓名添加到 students 列表中。最后,将班级名称作为键,学生列表作为值,添加到 class_students 字典中。

这样,当你访问该 Flask 应用的根路由时,会返回一个班级对学生的字典。记得在代码中将 your_database_uri 替换为你的实际数据库 URI。

Python Flask 查询数据库表班级对应学生并生成字典

原文地址: https://www.cveoy.top/t/topic/bNyp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录