form_valid 메서드에서 필드를 할당 할 수 없습니다. Not null 제약 조건 오류

루치아노 페레이라

오류가 발생합니다.

IntegrityError at / projects / 1 / issues / new / NOT NULL constraint failed : issues_issue.project_id Request Method : POST Request URL : http://127.0.0.1:8000/projects/1/issues/new/ Django 버전 : 3.0.3 예외 유형 : IntegrityError 예외 값 :
NOT NULL 제약 조건 실패 : issues_issue.project_id

이슈에는 프로젝트에 대한 외래 키가 있으며 form_valid 메서드에 할당하고 사용자와 동일하게 수행하며 제대로 작동합니다.

views.py의 CreateView :

class IssueCreateView(LoginRequiredMixin, CreateView):
        model = Issue
        fields = ['title', 'details', 'priority', 'status', 'estimated_work_hours', 'loaded_work_hours']

        def form_valid(self, form):
            form.instance.project = get_object_or_404(Project, pk=self.kwargs['project_id'])
            print(form.instance.project)
            form.instance.creator = self.request.user
            return super().form_valid(form)

print(form.instance.project)은 올바른 프로젝트를 인쇄하므로 작동합니다.

models.py :

class Issue(models.Model):
    project = models.ForeignKey(Project, on_delete=models.CASCADE)
    creator = models.ForeignKey(User, related_name="%(class)ss_created", on_delete=models.CASCADE)
    ...
    ...

form_valid 메서드에서 작성자 필드를 사용자에게 할당 할 수있는 이유는 무엇입니까? 그러나 프로젝트 필드에 대해 동일한 작업을 수행하면 작동하지 않고 이해가되지 않습니다.

아무도 문제가 무엇인지 알고 있습니까?

감사

ChrisRob

귀하의 양식을 준수하지 않는 projectcreator인스턴스입니다. 방금 설정했다면 거의 동일합니다.form.instance.xyz = self.request.user

당신은 추가 할 필요가 그래서 projectcreator귀하의 필드에.

사용하는 경우 {{ form.as_p }}다음 문제가 발생합니다. 이러한 필드가 양식에 포함됩니다. 이를 처리하는 방법에는 여러 가지가 있습니다. 하나는 사용자 정의 양식을 숨기는 것입니다. 최종 결과는 다음과 같습니다.

from django import forms

class IssueForm(forms.ModelForm):
    class Meta:
        model = Issue
        fields = ['project', 'creator', 'title', 'details', 'priority', 'status', 'estimated_work_hours', 'loaded_work_hours']
        widgets = {
            'project': forms.HiddenInput(),
            'creator': forms.HiddenInput(),
        }

class IssueCreateView(LoginRequiredMixin, CreateView):
    model = Issue
    form_class = IssueForm

    def form_valid(self, form):
        form.instance.project = get_object_or_404(Project, pk=self.kwargs['project_id'])
        form.instance.creator = self.request.user
        return super().form_valid(form)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MySQL 오류 코드 1215 : 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

MySQL : 오류 코드 : 1215. 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

오류 코드 : 1215 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

AS3 오류 1009 : null 개체 참조의 속성 또는 메서드에 액세스 할 수 없습니다.

분류에서Dev

AS3-오류 # 1009 : null 개체 참조의 속성 또는 메서드에 액세스 할 수 없습니다.

분류에서Dev

최대 절전 모드 오류 : 상위 행을 삭제하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 실패합니다.

분류에서Dev

오류 1215, 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

SQL 오류 (1215) : 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

작성기 오류 : 버전 제약 조건> = ~ 2를 구문 분석 할 수 없습니다.

분류에서Dev

열 제약 조건을 사용할 때 CREATE 문에서 알 수없는 오류

분류에서Dev

일반 오류 1215 : Laravel 5에 대한 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

오류 1215 MySQL에 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

MySQL Workbench : 오류 코드 1452. 하위 행을 추가하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 실패합니다.

분류에서Dev

오류 코드 : 1452. 하위 행을 추가하거나 업데이트 할 수 없습니다 : 외래 키 제약 조건이 실패합니다-MYSQL

분류에서Dev

NPM 오류 : '노드'의 '이름'속성이 null이므로 구조를 해제 할 수 없습니다.

분류에서Dev

누락 된 제약 조건을 추가 한 후 UIWebView에서 pdf 파일을로드 할 수 없습니다.

분류에서Dev

CRTP 메서드에서 파생 클래스에 대한 제약 조건을 사용할 수 있습니까?

분류에서Dev

Android Studio 0.9.2 ~ 0.9.3 오류 : toString () 메서드를 참조 할 수 없습니다.

분류에서Dev

* 정의되기 전에는 필드를 참조 할 수 없습니다. "오류

분류에서Dev

오류 : Alpine Docker 이미지에 PostGIS를 설치할 때 만족할 수없는 제약 조건

분류에서Dev

Alpine Linux는 hping을 설치할 수 없습니다. 오류 : 만족할 수없는 제약 조건

분류에서Dev

변수 PHP에 메서드를 할당 할 수 없습니다.

분류에서Dev

setDisplayHomeAsUpEnabled () 오류 : 정적 컨텍스트에서 비 정적 메서드를 참조 할 수 없습니다.

분류에서Dev

nodeid를 할당하지 못했습니다. 오류 : '오류 : 노드 ID를 할당 할 수 없습니다.

분류에서Dev

HSQLDB에서 외래 키 제약 조건 개체를 삭제할 수 없습니다.

분류에서Dev

숙제 자바-구문 오류, 배열에서 메서드를 호출 할 수 없습니다.

분류에서Dev

Mariadb에서 함수 호출로 제약 조건 검사를 추가 할 수 없습니다.

분류에서Dev

shopware onetonone 관계 오류 : 일반 오류 : 1215 외래 키 제약 조건을 추가 할 수 없습니다.

분류에서Dev

오류 : 오류 1215 (HY000) : 외래 키 제약 조건을 추가 할 수 없습니다.

Related 관련 기사

  1. 1

    MySQL 오류 코드 1215 : 외래 키 제약 조건을 추가 할 수 없습니다.

  2. 2

    MySQL : 오류 코드 : 1215. 외래 키 제약 조건을 추가 할 수 없습니다.

  3. 3

    오류 코드 : 1215 외래 키 제약 조건을 추가 할 수 없습니다.

  4. 4

    AS3 오류 1009 : null 개체 참조의 속성 또는 메서드에 액세스 할 수 없습니다.

  5. 5

    AS3-오류 # 1009 : null 개체 참조의 속성 또는 메서드에 액세스 할 수 없습니다.

  6. 6

    최대 절전 모드 오류 : 상위 행을 삭제하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 실패합니다.

  7. 7

    오류 1215, 외래 키 제약 조건을 추가 할 수 없습니다.

  8. 8

    SQL 오류 (1215) : 외래 키 제약 조건을 추가 할 수 없습니다.

  9. 9

    작성기 오류 : 버전 제약 조건> = ~ 2를 구문 분석 할 수 없습니다.

  10. 10

    열 제약 조건을 사용할 때 CREATE 문에서 알 수없는 오류

  11. 11

    일반 오류 1215 : Laravel 5에 대한 외래 키 제약 조건을 추가 할 수 없습니다.

  12. 12

    오류 1215 MySQL에 외래 키 제약 조건을 추가 할 수 없습니다.

  13. 13

    MySQL Workbench : 오류 코드 1452. 하위 행을 추가하거나 업데이트 할 수 없습니다. 외래 키 제약 조건이 실패합니다.

  14. 14

    오류 코드 : 1452. 하위 행을 추가하거나 업데이트 할 수 없습니다 : 외래 키 제약 조건이 실패합니다-MYSQL

  15. 15

    NPM 오류 : '노드'의 '이름'속성이 null이므로 구조를 해제 할 수 없습니다.

  16. 16

    누락 된 제약 조건을 추가 한 후 UIWebView에서 pdf 파일을로드 할 수 없습니다.

  17. 17

    CRTP 메서드에서 파생 클래스에 대한 제약 조건을 사용할 수 있습니까?

  18. 18

    Android Studio 0.9.2 ~ 0.9.3 오류 : toString () 메서드를 참조 할 수 없습니다.

  19. 19

    * 정의되기 전에는 필드를 참조 할 수 없습니다. "오류

  20. 20

    오류 : Alpine Docker 이미지에 PostGIS를 설치할 때 만족할 수없는 제약 조건

  21. 21

    Alpine Linux는 hping을 설치할 수 없습니다. 오류 : 만족할 수없는 제약 조건

  22. 22

    변수 PHP에 메서드를 할당 할 수 없습니다.

  23. 23

    setDisplayHomeAsUpEnabled () 오류 : 정적 컨텍스트에서 비 정적 메서드를 참조 할 수 없습니다.

  24. 24

    nodeid를 할당하지 못했습니다. 오류 : '오류 : 노드 ID를 할당 할 수 없습니다.

  25. 25

    HSQLDB에서 외래 키 제약 조건 개체를 삭제할 수 없습니다.

  26. 26

    숙제 자바-구문 오류, 배열에서 메서드를 호출 할 수 없습니다.

  27. 27

    Mariadb에서 함수 호출로 제약 조건 검사를 추가 할 수 없습니다.

  28. 28

    shopware onetonone 관계 오류 : 일반 오류 : 1215 외래 키 제약 조건을 추가 할 수 없습니다.

  29. 29

    오류 : 오류 1215 (HY000) : 외래 키 제약 조건을 추가 할 수 없습니다.

뜨겁다태그

보관