对于别的类型的表单数据我使用的是cleaned_data['列名']
取得传入值,对于ChoiceField
和MultipleChoiceField
的传入值取值应当怎么取?如果用cleaned_data['列名']
方式取值分别会得到什么样的数据结构?
怪我咯2017-04-18 09:27:35
코드를 사용하여 테스트할 수 있습니다:
모델:
테스트로 테이블에 세 개의 데이터 행을 삽입합니다.
으아악양식:
으아악위 양식에서는 ModelChoiceField와 ModelMutipleChoiceField를 생성했습니다. queryset에서는 id가 2 이하인 개체를 쿼리합니다.
보기:
으아악템플릿:
으아악다음과 같이 양식을 작성해 드립니다.
출력 결과는 다음과 같습니다.
으아악다음에서 알 수 있습니다.
ModelChoiceField는 clean_data를 통해 해당 쿼리셋에 해당하는 모델의 인스턴스에 값을 반환합니다.
ModelMultipleChoiceField는 clean_data를 통해 해당 쿼리셋에 해당하는 모델의 인스턴스 목록을 반환합니다.
다른 양식은 clean_data 반환 값을 사용하여 해당 필드의 유형을 정의합니다.
Django의 문서는 매우 명확하므로 주의 깊게 읽어볼 수 있습니다.