>  Q&A  >  본문

python - django中外键和多对多表单传入值,取值操作怎么做?

对于别的类型的表单数据我使用的是cleaned_data['列名']取得传入值,对于ChoiceFieldMultipleChoiceField的传入值取值应当怎么取?如果用cleaned_data['列名']方式取值分别会得到什么样的数据结构?

PHP中文网PHP中文网2741일 전512

모든 응답(1)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-18 09:27:35

    코드를 사용하여 테스트할 수 있습니다:
    모델:

    으아악

    테스트로 테이블에 세 개의 데이터 행을 삽입합니다.

    으아악

    양식:

    으아악

    위 양식에서는 ModelChoiceField와 ModelMutipleChoiceField를 생성했습니다. queryset에서는 id가 2 이하인 개체를 쿼리합니다.

    보기:

    으아악

    템플릿:

    으아악

    다음과 같이 양식을 작성해 드립니다.

    출력 결과는 다음과 같습니다.

    으아악

    다음에서 알 수 있습니다.
    ModelChoiceField는 clean_data를 통해 해당 쿼리셋에 해당하는 모델의 인스턴스에 값을 반환합니다.
    ModelMultipleChoiceField는 clean_data를 통해 해당 쿼리셋에 해당하는 모델의 인스턴스 목록을 반환합니다.
    다른 양식은 clean_data 반환 값을 사용하여 해당 필드의 유형을 정의합니다.
    Django의 문서는 매우 명확하므로 주의 깊게 읽어볼 수 있습니다.

    회신하다
    0
  • 취소회신하다