2010-07-09 2 views
7

초기 값을 modelformset_factory의 빈 양식에 추가하려고합니다.empty_form modelformset_factory의 초기 값

FormSet = modelformset_factory(MyModel, extra=2) 
formset = FormSet(queryset=MyModel.objects.none(), initial=[{'foo': 'bar'}, {'foo': 'bar'}]) 

formset.empty_form에 초기 값을 설정하고 싶습니다. 어떻게해야합니까?

+0

죄송합니다. 질문은 실제로 의미가 없습니다. 게시 한 코드에 어떤 문제가 있습니까? 오류가 있습니까? 그렇다면 무엇을합니까? 원하는 효과가 없습니까? 그렇다면 원하는 효과는 무엇이고 실제로 발생하는 효과는 무엇입니까? –

+3

맞아, 내 코드는 정상적으로 작동하지만 초기 값을 설정하는 방법을 원한다. 내 예제처럼 내 2 개의 여분의 폼이 아니라 empty_form (formset.empty_form) – sam

+0

@ sam 문제? – MatheusJardimB

답변

1

in this other answer으로 명시된대로 초기 값을 양식 세트에 추가 할 수 있습니다. 나는 이것이 정답,하지만이 작품은 단순히 재 할당하기로 empty_form을인지 확인하는 빠른 해킹 확실하지 않다

<form action="/contact/" method="post">{% csrf_token %} 
    {% with formset.empty_form as form %} 
     {% for field in form %} 
     <div class="fieldWrapper"> 
      {{ field.errors }} 
      {{ field.label_tag }}: {{ field }} 
     </div> 
     {% endfor %} 
    {% endwith %} 
    <input type="submit" value="Submit" /> 
</form> 
0

: 그럼 당신은 같은 템플릿의 empty_form을 설정할 수있어 formset 초기화 후 원하는 양식.

formset = formset_factory(MyClass, **kwargs) 
empty = formset.empty_form 

# empty is a form instance, so you can do whatever you want to it 
my_empty_form_init(empty_form) 
formset.empty_form = empty_form 

결과 formset의 empty_form 속성을 덮어 쓰는 것에 유의하십시오.

+0

작동하지 않으며 속성을 설정할 때 속성을 설정할 수 없습니다. – gabn88

관련 문제