Ho iniziato a imparare questa roba dal Flask Mega Tutorial. Quando arriva in molti-a-molti, egli crea una tabella di associazione come questa:Flask/SQLAlchemy - Differenza tra modello di associazione e tabella di associazione per la relazione molti-a-molti?
followers = db.Table('followers',
db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
Mentre ero alla ricerca di modi per aggiungere alcuni metadati per quanto riguarda una specifica associazione tra modelli, ho scoperto che è possibile memorizzare questo qualcosa di simile nella tabella di associazione. Tuttavia l'esempio di ciò che ho trovato sembra rendere la tabella di associazione un modello reale.
class DepartmentEmployeeLink(Base):
__tablename__ = 'department_employee_link'
department_id = Column(Integer, ForeignKey('department.id'), primary_key=True)
employee_id = Column(Integer, ForeignKey('employee.id'), primary_key=True)
extra_data = Column(String(256))
department = relationship(Department, backref=backref("employee_assoc"))
employee = relationship(Employee, backref=backref("department_assoc"))
Qual è la differenza tra questi due metodi? Il metodo del modello è necessario per memorizzare i metadati nella tabella di associazione o la stessa cosa può essere eseguita con il metodo top?
Grazie!