-
카테고리
-
세부 분야
풀스택
-
해결 여부
미해결
form.save(commit=False)
20.06.10 22:57 작성 조회수 270
1
form.save(commit=False)
이렇게 하는 이유가 중복저장을 막기 위해서라고 하셨는데
저렇게 하면 중복저장이 안되는 이유를 더 자세히 알고 싶습니다.
PostForm에는 photo와 content만 넘어오기 때문에
author정보가 없어서 저장이 안되므로,
post.author = request.user로 author정보를 주고 나서야
저장이 되는 것이 아닌가요?
답변을 작성해보세요.
0
카인드패밀리
지식공유자2020.06.23
JIN YOU KIM님 안녕하세요 ^ ^
답변이 늦었네요 ㅠ ㅠ 죄송합니다
commit=False 요 부분이 궁금하셨군요
중복저장이라는 말이 오히려 더 햇갈리게 해드렸을 수도 있다는 생각이 드네요
' 호출 지연' 이라는 말로 설명을 드리는게 더 이해가 쉬우셨을것 같네요
form.save(commit=False)
작동과정을 보면 form이 작동하고 나서 save가 작동하도록 하는 역할이라고 보시면 됩니다
아래 블로그에 굉장히 설명이 잘되어있어서 설명을 대신하겠습니다
보시면 분명히 이해가 되실거에요
https://whatisthenext.tistory.com/131
좀더 내용을 보고 싶으시면 commit=false와 관련된 공식문서입니다
https://docs.djangoproject.com/ko/3.0/topics/forms/modelforms/
질문 감사드립니다!! 답변 늦어서 지송해요 ㅠ
답변 1