[2024.04.03] N:1 (1)

체리마루·2024년 4월 3일

Many to one relationships

  • N:1 or 1:N: 한 테이블의 0개 이상의 레코드가 다른 테이블의 레코드 한 개와 관련된 관계
  • Comment(N) - Article(1): 0개 이상의 댓글은 1개의 게시글에 작성될 수 있다

댓글 모델

  • ForeignKey(): N:1 관계 설정 모델 필드

댓글 생성 연습







관계 모델 참조

역참조

  • 역참조: N:1 관계에서 1에서 N을 참조하거나 조회하는 것 => N은 외래 키를 가지고 있어 물리적으로 참조가 가능하지만 1은 N에 대한 참조 방법이 존재하지 않아 별도의 역참조 기능이 필요

    => 특정 게시글에 작성된 댓글 전체를 조회하는 명령

  • related manager: N:1 혹은 M:N 관계에서 역참조 시에 사용하는 매니저 => 'objects' 매니저를 통해 QuerySet API를 사용했던 것처럼 related manager를 통해 QuerySet API를 사용할 수 있게 됨

  • related manager 이름 규칙
    N:1 관계에서 생성되는 Related manager의 이름은 참조하는 "모델명_set" 이름 규칙으로 만들어짐
    특정 댓글의 게시글 참조 (Comment->Article): comment.article
    특정 게시글의 댓글 목록 참조 (Article->Comment): article.comment_set.all()

댓글 구현

CREATE











READ


DELETE




profile
멋쟁이 토마토 개발자 🍅

0개의 댓글