아래는 Product(1): PriceLog(N) 관계이다.
프로덕트는 여러개의 price log 가질 수 있다.
backref
또는 back_populates
로 선언 할 수 있다. 이때 backref
했을 때에 한 테이블에서만 명시해도 되지만 back_populates
로 선언 했을 때에는 양쪽 테이블 모두에 명시 해야 한다.중간 테이블을 생성한다.
follow_table = db.Table('follow',db.Column('user_id', db.Integer, db.ForeignKey('users.id', ondelete='CASCADE'), primary_key=True),db.Column('following_id', db.Integer,db.ForeignKey('users.id',ondelete='CASCADE'),primary_key=True))
모델에 관계를 명시한다.
following = db.relationship('Users', secondary=follow_table, primaryjoin=(id == follow_table.c.user_id), secondaryjoin=(id ==follow_table.c.following_id), backref=db.backref('followers'))
secondary=follow_table : 연관 테이블 'follow_table' 명시
primaryjoin=(id == follow_table.c.user_id): 왼쪽 테이블('Users')과 연관 테이블 조인 조건
secondaryjoin=(id == follow_table.c.following_id): 연관 테이블과 오른쪽 테이블('Users') 조인조건