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")
Мне нужны все записи,где присутствует,например,название экзамена 1:
Exams.query.filter(Exams.name_of_Exam == "ЕГЭ").scalar()
Получаю ошибку:
sqlalchemy.exc.MultipleResultsFound: Multiple rows were found when exactly one was required
Проблема в том,что названия name_of_Exam не уникальные. Как сделать выборку в этом случае?
если тебе нужно количество записей, то нужно работать с count, если нужны сами сущности то .all(), scalar() - получить значений одной колонки и в данный момент не очень подходит, только если применить count
Мне нужны сущности,где в таблице Task есть значения из колонки Task,где присутствует ЕГЭ
.scalar() замени на .all() тебе поможет + filter
Обсуждают сегодня