Я пытаюсь построить отношение «многие ко многим» в SQLAlchemy в своем приложении для колб, это мои модели, которые у меня пока есть.
from backend import db
association_table = db.Table('association', db.metadata,
db.Column('left_id', db.Integer, db.ForeignKey('left.id')),
db.Column('right_id', db.Integer, db.ForeignKey('right.id'))
)
class Trainer(db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(40), unique=True, nullable=False)
first_name = db.Column(db.String(30), nullable=False)
last_name = db.Column(db.String(30), nullable=False)
image_file = db.Column(db.String(20), nullable=False, default="default.jpg")
password = db.Column(db.String(20), nullable=False)
certifications = db.relationship('Certification', secondary="association_table", lazy='subquery',
backref=db.backref('certifications', lazy=True))
def __repr__(self):
return f"{self.first_name} {self.last_name} - {self.email}"
class Certification(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, unique=True, nullable=False)
score = db.Column(db.Integer, default=0)
verified = db.Column(db.Boolean, default=False),
trainers = db.relationship("Trainer",
secondary="association_table",
back_populates="certification")
Я получаю эту ошибку всякий раз, когда пытаюсь получить создание нового экземпляра тренера
sqlalchemy.exc.InvalidRequestError: When initializing mapper mapped class Trainer->trainer, expression 'association_table' failed to locate a name ("name 'association_table' is not defined"). If this is a class name, consider adding this relationship() to the <class 'backend.models.trainer.Trainer'> class after both dependent classes have been defined.
Как я могу заставить эти отношения работать, это правильный выбор для использованиятаблица ассоциаций