Article 을 Foreignkey 로 갖고와서 그런가
db에 보면, article_id 가 존재했다.
User 모델도 Foreignkey 로 갖고오긴 했는데 ..
User 모델이 아닌, 다른 Model을 Foreignkey 로 가져오면
인자로 article_id를 넣어줘야 하는 규칙인건가
article_id 를 get 함수의 인자로 넣어주니까 에러가 해결됐다.
article_id 를 get 함수의 인자로 넣어주긴 했고,
함수 로직에는 사용하지 않는 인자이지만 해결되었다.
댓글을 새롭게 POST 하는 시리얼라이저에서
시리얼라이저 메소드 필드로 article.id를 사용하고 있기 때문에 그런건지는 몰라도
article_id 를
인자로 넣어주라니 ... 그래서 그런가?
결론은 두가지였다.
1. 위에서 말했던, serializers.py 에서
get_article 로 obj.article.id 를 받아오고 있기 때문에
views.py 로직에서 필요했다는 타당한 이유와
2. 댓글을 전체보는 로직이더라도
a. 특정 게시글에 대한 댓글 전체를 불러올 것인지
b. 게시글과 관련없이 모든 댓글을 불러올 것인지
c. 특정 사용자가 작성한, 모든 댓글을 불러올 것인지
를 따져봐야 한다.
나는 첫번째, 특정 게시글 id 에 대해서 댓글 전체를 불러오는 것이기 때문에 article_id를 변수로 선언해주어야 한다는 점.
그래서 그 게시글에 대해서
comments = Comment.objects.filter(article_id=article_id)
를 적용시켜도 되고,
article = Article.objects.get(id=article_id)
comments = article.comment_article.all()
를 적용시켜서 필터링해도 된다. comment_article 는 relate_name이다.
따로 설정해두지 않았다면, article_set 으로 설정된다.
'Library&Framework > Django' 카테고리의 다른 글
파이썬/장고로 결제 시작하기 1주차(Feat. 아임포트) (0) | 2023.11.29 |
---|---|
파이썬/장고로 결제 시작하기 (Feat. 아임포트) (3) | 2023.11.29 |
[django 기초] models 모듈 안에, User 클래스와 AbstractUser는 어떤 점이 다를까?? (0) | 2023.04.25 |
[django 기초][의문점] views.py에서 언제 as_view를 사용할까? (0) | 2023.04.25 |
[Django심화][2주차필기] 9강, 클래스형뷰, CBV(class based view) (0) | 2023.04.23 |