• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

PostUpdateView가 변경된 form 을 저장하지 않습니다.

22.02.07 15:57 작성 조회수 140

0

class PostUpdateView(LoginRequiredMixin,UpdateView):
    model = Post
    form_class = PostForm

    def form_valid(self, form):
        messages.success(self.request, '포스팅을 수정했습니다.')
        return super().form_valid(form)

post_edit = PostUpdateView.as_view()
 
선생님과 같이 해당 코드를 작성해봤는데요 이게 저장과 메세지는 구현이 되는데
실제로 변경사항이 저장되지는 않는듯 합니다

답변 2

·

답변을 작성해보세요.

0

안녕하세요.

사용하신 UpdateView가 아래 경로의 CBV라면 form_valid  시에 form.save() 가 호출됩니다. 그러니 부모의 form_valid 를 호출해주면 저장이 되어야하는 것이 맞습니다.

from django.views.generic import UpdateView

혹시 소스 파일 저장이 안 되셨던 것은 아닐까요?

관련 장고 소스코드 : https://github.com/django/django/blob/3.0.14/django/views/generic/edit.py#L125

0

준영님의 프로필

준영

질문자

2022.02.07

messages.success(self.request, '포스팅을 수정했습니다.')
        form.save()
        return super().form_valid(form)
이렇게 첨부해주니 변경사항 저장이 되네용