sqlalchemy.exc.MultipleResultsFound:当恰好需要一行时找到多行

Вла*_*кин 6 python sql sqlalchemy flask flask-sqlalchemy

我在数据库中有这样的结构

tasks_exams = db.Table('tasks_exams',
    db.Column('task_id', db.Integer, db.ForeignKey('tasks.id')),
    db.Column('exam_id',  db.Integer, db.ForeignKey('exams.id'))
)

class Tasks(db.Model):
    __tablename__ = 'tasks'

    id        = db.Column(db.Integer, primary_key=True, autoincrement=True)
    task      = db.Column(db.Text)


class Exams(db.Model):
    __tablename__ = 'exams'

    id = db.Column(db.Integer, primary_key=True, autoincrement=True)
    name_of_Exam = db.Column(db.String(140))
    number_of_exam_task = db.Column(db.SmallInteger)
    name_of_exams_task = db.Column(db.String(140))

    tasks = db.relationship('Tasks',
                            secondary=tasks_exams,
                            back_populates="exams")
Run Code Online (Sandbox Code Playgroud)

我想获取 exams_1 所在的所有任务:

tasku = Exams.query.filter(Exams.name_of_Exam == "exams_1").scalar()
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

sqlalchemy.exc.MultipleResultsFound: Multiple rows were found when exactly one was required
Run Code Online (Sandbox Code Playgroud)

我应该如何解决我的问题?

小智 0

来自 sqlalchemy文档

在此输入图像描述


你可以使用.all()