게시 개체가 Post()가 아니라 PostForm()인지 명확하게 확인해야 합니다. PostForm 양식 처리 개체에는 초기 ID 값이 있지만 전달한 request.POST 값에는 ID 값이 있습니까? 자연스럽습니다. 게시물이 Post() 개체인 경우 ID 값이 있어야 합니다.
PostForm을 이렇게 정의하면 PostForm(request.POST).save()을 호출하여 원하는 결과를 얻을 수 있습니다.
으아아아
하지만 PostForm은 확실히 이런 식으로 정의되지 않습니다. 왜냐하면 post = form.save(request.user)은 잘못된 사용 방법이기 때문입니다. ModelForm의 save 메서드에는 commit = False 또는 commit=True이라는 매개 변수가 하나만 있습니다. 데이터를 데이터베이스에 저장할지 여부, 기본값은 True
Django에서는 "기본 키를 명시적으로 정의"할 필요가 없습니다.
테이블에 ID 필드(기본 키, 자동 증가)가 자동으로 추가됩니다
수동으로 정의한 기본 키 제거를 고려할 수 있습니다
게시 개체가 Post()가 아니라 PostForm()인지 명확하게 확인해야 합니다. PostForm 양식 처리 개체에는 초기 ID 값이 있지만 전달한 request.POST 값에는 ID 값이 있습니까? 자연스럽습니다. 게시물이 Post() 개체인 경우 ID 값이 있어야 합니다.
자세히 제공되지 않은 정보가 하나 있는데, 이를
PostForm
어떻게 정의하시나요?
으아아아PostForm
을 이렇게 정의하면PostForm(request.POST).save()
을 호출하여 원하는 결과를 얻을 수 있습니다.하지만 PostForm은 확실히 이런 식으로 정의되지 않습니다. 왜냐하면
post = form.save(request.user)
은 잘못된 사용 방법이기 때문입니다.ModelForm
의save
메서드에는commit = False
또는commit=True
이라는 매개 변수가 하나만 있습니다. 데이터를 데이터베이스에 저장할지 여부, 기본값은 True소스코드 링크 참조