У меня есть две модели, подобные этой:
class Category(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20), nullable=False)
products = db.relationship(
"Product",
secondary=associations, lazy="subquery",
back_populates="categories")
class Product(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(20), nullable=False)
categories = db.relationship(
"Category",
secondary=associations, lazy="subquery",
back_populates="products")
и мой вспомогательный стол, потому что они связаны между собой:
associations = db.Table('associations',
db.Column('category_id', db.Integer, db.ForeignKey('category.id'), primary_key=True),
db.Column('product_id', db.Integer, db.ForeignKey('product.id'), primary_key=True)
)
Мой вопрос: я хочу организовать свою Product и Category в 2 разных файлах внутри папки Models, чтобы я мог поместить ассоциацию, чтобы оба файла могли ее прочитать?
Я попытался поместить ее в другой файл association.py, но когда я запустил свой код, он дал я: sqlalchemy.exc.InvalidRequestError: Table 'category' is already defined for this MetaData instance. Specify 'extend_existing=True' to redefine options and columns on an existing Table object.