Tôi bắt đầu tìm hiểu công cụ này từ Hướng dẫn Flask Mega. Khi anh nhận được vào Nhiều-to-Nhiều mối quan hệ, ông tạo ra một bảng hiệp hội như thế này:Flask/SQLAlchemy - Sự khác biệt giữa mô hình hiệp hội và bảng kết hợp cho mối quan hệ nhiều-nhiều?
followers = db.Table('followers',
db.Column('follower_id', db.Integer, db.ForeignKey('user.id')),
db.Column('followed_id', db.Integer, db.ForeignKey('user.id'))
)
Khi tôi đang tìm kiếm cách để thêm một số siêu dữ liệu liên quan đến một hiệp hội cụ thể giữa các mô hình, tôi thấy rằng bạn có thể lưu trữ này kinda điều trong bảng hiệp hội .. Tuy nhiên, ví dụ này tôi đã tìm thấy dường như làm cho bảng hiệp hội một mô hình thực tế.
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"))
Sự khác biệt giữa hai phương pháp này là gì? Phương pháp mô hình có cần thiết để lưu trữ siêu dữ liệu trong bảng kết hợp hoặc điều tương tự có thể được thực hiện bằng phương pháp hàng đầu không?
Cảm ơn!