【发布时间】:2015-08-05 01:45:29
【问题描述】:
我从 Flask Mega 教程开始学习这些东西。当他进入多对多关系时,他会创建一个如下所示的关联表:
followers = db.Table('followers',
db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
当我正在寻找添加一些关于模型之间特定关联的元数据的方法时,我发现您可以将这种东西存储在关联表中。但是我发现的这个例子似乎使关联表一个实际的模型。
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"))
这两种方法有什么区别?是需要model方法在关联表中存储元数据还是同样的事情可以用top方法来完成?
谢谢!
【问题讨论】:
标签: flask sqlalchemy many-to-many flask-sqlalchemy model-associations