관계
- User 모델에 추가된 role_id 열은 외래키로 정의되는데 db.Foreignkey()에 전달한 'roles.id'인수는 열이 roles 테이블에 있는 행에서 id값을 갖는 것으로 해석
- Role 클래스의 인스턴스로 주어진 users 속성은 그 규칙과 연관된 사용자의 리스트를 리턴
- backref 인수는 User 모델에 role 속성을 추가하여 관계의 반대방향을 정의하고 이 속성은 Role 모델이 외래키 대신 오브젝트에 접근하다록 role_id 대신 사용
SQLAlchemy 관계 옵션
옵션 이름 | 설명 |
---|---|
backref | 관계에서 다른 모델에 있는 백 레퍼런스를 추가 |
primaryjoin | 두 개 모델 사이의 join 조건을 명확하게 설정. 모호한 관계에서만 필요 |
lazy | 관계된 아이템에 대하여 어떻게 로드되는지 설정
|
uselist | False로 설정하면 리스트 대신 스칼라 사용 |
order_by | 관계에서 아이템을 위해 사용되는 순서로 설정 |
secondary | 다대다관계에서 사용하기 우해 관계 테이블의 이름을 설정 |
secondaryjoin | SQLAlchemy가 결정하지 못할 때 다대다 관계를 위한 두 번째 조인 조건을 설정 |
'개발 > Python' 카테고리의 다른 글
설치(Flask) (0) | 2018.09.10 |
---|---|
블루프린트(Flask) (0) | 2018.09.10 |
Jinja2 템플릿(flask) (0) | 2018.09.10 |
함수 (0) | 2018.09.10 |
패키지 (0) | 2018.09.10 |