2012-11-28 2 views
9

Django Form Field 문자열 목록이 필요합니다.Django Form 문자열 목록 용 필드

이 목록을 반복하여 각 문자열에 대해 새 모델 개체를 만듭니다. 나는 동의해야하기 때문에

, 모델 객체가 양식 제출 후 까지 만들어지지 않습니다 때문에, 선택 필드 여러 모델을 할 수없고, 나는 다중 선택 필드를 할 수 없다 사전 정의 된 일련의 옵션뿐만 아니라 임의의 문자열.

누구든지이 작업을 수행하는 방법을 알고 있습니까?

답변

0

나는 해결책을 생각해 냈습니다. 조금 해킹되었지만 지금은 효과가 있습니다.
event_locations = form_data.get('event_locations', None)

그럼 난 form_data에서 제거, 그래서 장고 양식은 결코 목록을 얻을 수 없습니다 :

는 양식 데이터를 잡는 후, 나는 변수의 목록을 숨기고 나는 인스턴스화

if event_locations: 
    del form_data['event_locations'] 

을 양식을 form_data와 함께 사용하고 별도로 목록을 처리하십시오.

f = NewEventForm(form_data) 
... 
for loc in event_locations: 
    #create new models here 

나는 우리가 여전히 Django Form Field를 가지고 있지 않기 때문에 요청한 질문을 해결한다. 그러나 폼을 취하고 그것을 처리 할 수있는 뷰에리스트를 전달하는 방법이다.

5

쉼표로 구분 된 일반 텍스트 입력란을 사용하십시오. 보기에서 양식 제출을 처리하면 해당 필드를 기반으로 쉼표 문자열을 분할합니다. 그런 다음 각 모델을 반복하여 새 모델을 만들고 저장합니다. 너무 열심히해서는 안됩니다.

+0

나는 이것을 고려했지만, 내 API에서는 규칙으로 꽤 큰 휴식이 될 것이다. –