DB
DB에 대하여(4)_관계 모델 참조 (feat. Django)
데이터분석가 이채은
2024. 4. 19. 09:00
1. 역참조
역참조란, N:1 관계에서 1에서 N을 참조하거나 조회하는 것입니다. 즉, 1 → N입니다.
N은 외래 키를 가지고 있어서 물리적으로 참조가 가능하지만 1은 N에 대한 참조 방법이 존재하지 않기 때문에 별도의 역참조 이름이 필요합니다.
2. related manager
N:1 혹은 M:N 관계에서 역참조 시에 사용하는 매니저입니다. 'objects' 매니저를 통해 queryset api를 사용했던 것처럼 related manager를 통해 queryset api를 사용할 수 있게 됩니다.
3. Related manager 연습
shell_plus 실행 및 1번 게시글 조회
python manage.py shell_plus
article = Article.objects.get(pk=1)
1번 게시글에 작성된 모든 댓글 조회하기 (역참조)
article.comment_set.all()
<QuerySet [<Comment: Comment object (1)>,
<Comment: Comment object (2)>]>
1번 게시글에 작성된 모든 댓글 내용 출력
comments = article.comment_set.all()
for comment in comments:
print(comment.content)