SQLAlchemy 관계, 언제 어떤 관계를 사용합니까?

Anuj

Flask를 배우고 flask-sqlalchemy 패키지를 사용하기 시작했습니다. role (id, name) 및 users (id, username, password, role_id) 및 role_id가 roles.id의 외래 키인 스키마가 있습니다. 하나의 역할로 일대 다 관계를 여러 사용자에게 할당 할 수 있지만 모든 사용자는 단일 역할을 갖게됩니다.

다음 코드에서

class Role(db.Model):
    # ..
    users = db.relationship('User', backref='role')

class User(db.Model):
    # ..
    role_id = db.Column(db.Integer, db.ForeignKey('roles.id')

여기에서 role_id의 사용법을 설정했는데 왜 db.relationship이 필요한가요? 관계 옵션의 용도 및 용도 :

  1. 역 참조
  2. primaryjoin
  3. 게으른
  4. 사용 목록
  5. 주문
  6. 중고등 학년
  7. secondaryjoin
드미트리 네드 바일로

db.relationship은 경우에 따라 매우 유용하며 긴 쿼리를 피하는 데 도움이 될 수 있습니다.

예를 들면

없이 db.relationship:

role = ...  # some role
Session.query(User).filter_by(role_id=role.role_id).all()

다음과 비교 db.relationship:

role = ... # some role
role.users

관계 옵션과 관련하여 가장 유용한 것은 아마도 backref. User 모델에서 역 참조 속성을 생성합니다. 예를 들면 :

이렇게하는 대신 :

Session.query(Role).filter_by(role_id=user.role_id).first()

다음과 같이 할 수 있습니다.

user.role

나머지 옵션에 관해서는 공식 문서 를 읽는 것이 좋습니다 . 여기에 답변에 넣을 수있는 것보다 더 유익하기 때문입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

어떤 유형의 관계를 사용해야합니까?

분류에서Dev

Laravel : 관계를 어떻게 생성하고 어떤 관계를 사용해야합니까?

분류에서Dev

SQLAlchemy : 다른 두 관계의 합집합으로 관계를 어떻게 정의 할 수 있습니까?

분류에서Dev

상관 관계 필터링은 실제로 어떤 역할을합니까?

분류에서Dev

어떤 관계가 필요합니까?

분류에서Dev

언제 관계 / 역 참조를 사용할 수 있습니까?

분류에서Dev

관계형 데이터베이스 구조를 언제 사용합니까?

분류에서Dev

어떤 관계를 선택해야합니까?

분류에서Dev

이것은 어떤 관계입니까?

분류에서Dev

한 사용자가 제품에 대해 하나의 주석 만 작성할 수 있도록 모델에서 어떤 관계를 작성해야합니까?

분류에서Dev

Flask SQLAlchemy 관계

분류에서Dev

SQLAlchemy 관계를 사용할 때 외래 키가 필요합니까?

분류에서Dev

Sqlalchemy 사용자 제품 리뷰 관계 모델 deisgn

분류에서Dev

1 : N 관계를 가진 두 항목은 어떤 관련이 있습니까?

분류에서Dev

Flask / SQLAlchemy-관계를 제대로 쿼리 할 수 없습니다.

분류에서Dev

Ember.js에서이 관계에 어떤 문제가 있습니까?

분류에서Dev

그래 핀 체계에서 manyToMany 관계를 어떻게 사용합니까?

분류에서Dev

어떤 테이블에서 FK 관계를 만들어야합니까?

분류에서Dev

SqlAlchemy에서 기본적으로로드 전략을 사용하도록 모든 관계 ()를 구성하려면 어떻게해야합니까?

분류에서Dev

flask-sqlalchemy와 다 대다 관계를 여러 번 삽입하려면 어떻게해야합니까?

분류에서Dev

현재 제어 터미널과`/ dev / tty` 사이에는 어떤 관계가 있습니까?

분류에서Dev

RabbitMQ에서 어떤 Exchange를 언제 사용합니까?

분류에서Dev

다 변수 상관 관계를 어떻게 실행합니까?

분류에서Dev

flask sqlalchemy 일대일 관계 문제

분류에서Dev

Mongoid에서 관계를 설정 해제하려면 어떻게합니까?

분류에서Dev

관계가 끊어진 후크는 언제 트리거됩니까?

분류에서Dev

with ()를 사용하여 열망 관계를 어떻게 주문합니까?

분류에서Dev

mongodb를 사용하여 gorm에서 로딩 관계를 제어하는 방법이 있습니까?

분류에서Dev

사용할 관계를 어떻게 알 수 있습니까?

Related 관련 기사

  1. 1

    어떤 유형의 관계를 사용해야합니까?

  2. 2

    Laravel : 관계를 어떻게 생성하고 어떤 관계를 사용해야합니까?

  3. 3

    SQLAlchemy : 다른 두 관계의 합집합으로 관계를 어떻게 정의 할 수 있습니까?

  4. 4

    상관 관계 필터링은 실제로 어떤 역할을합니까?

  5. 5

    어떤 관계가 필요합니까?

  6. 6

    언제 관계 / 역 참조를 사용할 수 있습니까?

  7. 7

    관계형 데이터베이스 구조를 언제 사용합니까?

  8. 8

    어떤 관계를 선택해야합니까?

  9. 9

    이것은 어떤 관계입니까?

  10. 10

    한 사용자가 제품에 대해 하나의 주석 만 작성할 수 있도록 모델에서 어떤 관계를 작성해야합니까?

  11. 11

    Flask SQLAlchemy 관계

  12. 12

    SQLAlchemy 관계를 사용할 때 외래 키가 필요합니까?

  13. 13

    Sqlalchemy 사용자 제품 리뷰 관계 모델 deisgn

  14. 14

    1 : N 관계를 가진 두 항목은 어떤 관련이 있습니까?

  15. 15

    Flask / SQLAlchemy-관계를 제대로 쿼리 할 수 없습니다.

  16. 16

    Ember.js에서이 관계에 어떤 문제가 있습니까?

  17. 17

    그래 핀 체계에서 manyToMany 관계를 어떻게 사용합니까?

  18. 18

    어떤 테이블에서 FK 관계를 만들어야합니까?

  19. 19

    SqlAlchemy에서 기본적으로로드 전략을 사용하도록 모든 관계 ()를 구성하려면 어떻게해야합니까?

  20. 20

    flask-sqlalchemy와 다 대다 관계를 여러 번 삽입하려면 어떻게해야합니까?

  21. 21

    현재 제어 터미널과`/ dev / tty` 사이에는 어떤 관계가 있습니까?

  22. 22

    RabbitMQ에서 어떤 Exchange를 언제 사용합니까?

  23. 23

    다 변수 상관 관계를 어떻게 실행합니까?

  24. 24

    flask sqlalchemy 일대일 관계 문제

  25. 25

    Mongoid에서 관계를 설정 해제하려면 어떻게합니까?

  26. 26

    관계가 끊어진 후크는 언제 트리거됩니까?

  27. 27

    with ()를 사용하여 열망 관계를 어떻게 주문합니까?

  28. 28

    mongodb를 사용하여 gorm에서 로딩 관계를 제어하는 방법이 있습니까?

  29. 29

    사용할 관계를 어떻게 알 수 있습니까?

뜨겁다태그

보관