Это мои модели
Одна работа может иметь до 2 сторон (передняя или задняя) или только передняя
Каждая сторона имеет несколько частей
class Job(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(120), nullable=False)
sides = db.relationship('Side', backref=db.backref('job', lazy=True))
class Side(db.Model):
id = db.Column(db.Integer, primary_key=True)
job_id = db.Column(db.Integer, db.ForeignKey('job.id'))
pieces = db.relationship('Piece', backref='side', lazy='select')
class Piece(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50), unique=True, nullable=False)
filename_img = db.Column(db.String(50), unique=True, nullable=True)
side_id = db.Column(db.Integer, db.ForeignKey('side.id'))
ОбычноЯ получаю куски следующим образом: Get Job Id -> Side -> Pieces
Пример заполненной базы данных
Job 1
Front
Piece 1
Piece 2
Back
Piece 1
Job 2
Front
Piece 3
Piece 4
Back
Piece 3
Piece 4
В приведенном выше примере показано, что у части 1 есть передняя и задняя части, часть 2имеет только 1 сторону, которая является передней частью задания 1. В этой ситуации я хочу выполнить итерации по частям вместо сторон.Это возможно?
Результат того, что я хочу, будет:
Job 1
Piece 1
Front
Back
Piece 2
Front
Job 2
Piece 3
Front
Back
Piece 4
Front
Back