IntegrityError at /post/new/ NOT NULL constraint failed: blog_post.author_id

Joohyung Park·2024년 3월 8일

버그

목록 보기
4/12

문제점

Django에서 게시물 생성뷰를 만들고 나서 실제로 해당 URL로 폼을 작성하고 저장을 누르니 제목과 같은 오류가 발생하였다.

해결

뷰에서 PostCreate 클래스 안에 form_valid라는 함수를 추가하여 author(작성자)를 자동으로 추가하게끔 하였다.

    def form_valid(self, form):
        current_user = self.request.user
        if current_user.is_authenticated:
            form.instance.author = current_user
            return super(PostCreate, self).form_valid(form)
        else:
            return redirect("/blog/")

참고

스택오버플로우

profile
익숙해지기 위해 기록합니다

0개의 댓글