2012-04-19 3 views
2

이 질문이 어딘가에 있었는데 사과하지만, 아무것도 찾을 수 없습니다.Django 양식 필드로 ID의

질문은 정말 간단합니다. request.POST.getlist('something')의 동작을 모방 한 이러한 장고 기본 서식 필드는 무엇입니까? 내 UI에서

는, 사용자가 자신이 저장하고자하는 객체의 목록을 작성하고, 이러한 개체는 같은 이름을 가진 숨겨진 입력의 목록으로 표시됩니다 :

<input type="hidden" name="cc" value="1045"> 
<input type="hidden" name="cc" value="1055"> 
<input type="hidden" name="cc" value="1046"> 

request.POST.getlist 정확히 않습니다 내가 필요, 하지만 직접 요청을 처리하고 싶지는 않습니다. 양식을 통해이를 수행하고 싶습니다.

+2

아마 숨겨진 모델 초이스 필드입니까? https://docs.djangoproject.com/en/dev/ref/forms/fields/#modelchoicefield –

답변

6

의견을 보내 주셔서 감사합니다. 예, 모델의 ManyToMany 필드에 ModelChoiceField을 사용하는 것으로 나타났습니다. 양식 측면에서는 MultipleChoiceField/TypedMultipleChoiceField으로 표시됩니다.

그래서이 필드를 서브 클래 싱하고 validate methods을 재정의하기로 결정했습니다.

class NotValidatedMultipleChoiceFiled(forms.TypedMultipleChoiceField): 
    """Field that do not validate if the field values are in self.choices""" 

    def to_python(self, value): 
     """Override checking method""" 
     return map(self.coerce, value) 

    def validate(self, value): 
     """Nothing to do here""" 
     pass 
관련 문제