인스타그램에 댓글을 달기 위해서는 댓글이 달린 게시물, 댓글을 다는 사용자, 생성시간, 댓글의 내용이 포함되어야 한다.
posts/models.py에 다음과 같이 Comment 모델을 추가해주었다.
가입한 유저가 이미 작성되어있는 게시물에만 댓글을 달 수 있다.
comments
테이블을 users
테이블, posts
테이블을 ForignKey
로 연결해준다.
작성 후 migrate 해준다.
⬆️ 데이터베이스에 적용 된 모습
댓글은 존재하는 유저가 존재하는 게시물에만 달 수 있으므로 해당 유저와 게시물이 데이터베이스에 존재하는지 검사하고 둘 다 존재한다면 객체를 생성한다.
생성한 뷰를 사용하기 위해 posts/urls.py
에 view path를 추가해준다.
댓글은 보통 특정 게시물을 기준으로 분류된다.
각 게시물에 달리 댓글을 작성하는 뷰를 다음과 같이 만들었다.
id
파라미터를 받아 post객체를 가져오고, 해당 post의 모든 댓글들을 가져온다.
생성한 뷰를 사용하기 위해 posts/urls.py
에 view path를 추가해준다.
데이터 베이스안에 있는 post_id = 26
인 포스트에 달린 모든 댓글을 가져온 모습