게시물을 업로드하는 코드를 짜던 도중 오류가 생겼다
위 처럼 코드를 작성했는데 작성하기 버튼을 누르면
지금과 같은 오류가 나온다. 내용을 읽어보면 save()함수는 쿼리셋 오브젝트에는 사용할 수 없다는 얘기 같다.
열심히 구글링하고 조언을 구해본 결과 원인은 금방 찾았다.
my_post = Post.objects.all() 부분이 잘못되었다. 우선 .objects.all() 코드 같은 형태로 변수에 받으면 db정보 갯수와 상관없이 무조건 리스트형(쿼리셋) 으로 나오기 때문에
save를 쓸 수 없고 무엇보다 지금은 아예 새로운 글을 작성하는것이기 때문에 사용해서는 안된다.
해결하는 방법은 간단하다
위 처럼 Post 모델에 정보를 가져오는게 아니라 새글을 작성하는것이기 때문에 Post()를 사용해서 정보를 저장할 공간만 가져오면 된다.