더북(TheBook)

③에 있는 single_parent는 이름에서 유추되듯이 부모가 하나라는 뜻인데, 이 설정을 하면 자식 객체는 반드시 한 부모 객체에만 연결되며 부모 객체가 삭제될 때 자식 객체도 삭제됩니다. 또 자식 객체를 다른 부모 객체로 재할당하지 못합니다.

③에서 uselist는 관계의 다중성이 있는지 여부입니다. 이 설정 키의 값이 기본값인 True인 경우 자신을 향해 관계를 맺는 대상이 여러 개, 즉 1:N을 뜻하며 False이면 하나라는 뜻입니다. 캘린더에는 unique 속성 제약, 호스트에는 uselist=False를 부여하여 1:1 관계를 구성한 것입니다.

자료형 각주도 list["OAuthAccount"]와 달리 "Calendar"로 각주하여(②) 대상이 한 개라는 의도를 드러냈는데, 실제 데이터베이스 작업에는 영향을 미치지 않습니다. 사실상 Pydantic용 자료형 각주거든요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.