프로그래밍/Django & Flask
[Django] 각 포스트마다 댓글 출력하기(~ing)
대인보우
2020. 11. 23. 19:38
반응형
댓글 기능 구현하기!
처음엔 단순하게 생각했다.
글쓰기처럼 모델을 생성하되 Post의 id를 foreign key로 삼아준다.
그리고 출력할 때 Reply의 posting_id와 Post의 id가 같은 것을 출력해주면 되지 않을까??
그래서
# Post/models.py
class Reply(models.Model):
posting_id = models.ForeignKey(Post, on_delete=models.CASCADE, db_column='posting_id')
reply_writer = models.CharField(max_length=30)
reply_content = models.TextField()
reply_date = models.DateTimeField(default=datetime.datetime.now)
reply_like = models.IntegerField(default=0)
를 생성해주고,
<!-- Blog/main.html -->
{% for reply in reply.all %}
{% if reply.posting_id == posting.id %}
<div id="reply_content"> <a id="reply_name" href=""><b>{{ reply.reply_writer }}</b></a>
{{ reply.reply_content }}</div>
{% endif %}
{% endfor %}
이렇게 출력해줬다.
그런데 출력이 안될뿐더러, 지금이야 댓글이 한두개니까 그렇다쳐도 더 많아지면 너무 비효율적이라는 생각이 들었다!
(출력이 안되는 이유는 자료형이 다르기 때문인 것 같다)
그래서 다른 방안을 찾아야겠다 생각했다!
애초부터 posting_id와 같은 댓글만 출력해줄 수 있는 방법이 없을까?!
반응형