back_populates 옵션은
SQLAlchemy에서 두 개의 관계가 서로를 참조할 때 사용되는 속성
이 옵션은 두 테이블 간의 양방향 관계를 설정할 수 있도록 해줌
두 개의 모델이 서로 참조할 때,
한 모델에서 다른 모델의 관계를 정의하고,
반대 방향에서도 그 관계를 정의함
이때 back_populates를 사용하여 서로 연결
Gym 모델에서 owner 관계를 정의하고,Owner 모델에서 gyms 관계를 정의할 수 있음Gym 모델은 owner를 통해 소유자를 참조하고,Owner 모델은 gyms를 통해 해당 소유자가 소유한 체육관들을 참조함class Gym(Base):
# ...
owner = relationship("Owner", back_populates="gyms")
class Owner(Base):
# ...
gyms = relationship("Gym", back_populates="owner")
이렇게 설정하면,
gym.owner를 통해 체육관의 소유자에 접근할 수 있고,
owner.gyms를 통해 소유자가 소유한 체육관 목록에 접근할 수 있음
이를 통해 데이터의 무결성을 유지하고,
관련 객체 간의 탐색이 용이해짐
back_populates는 두 모델 간의 양방향 관계를 설정하는 데 사용됨