2012-03-08 14 views
1

確認モデルのformsetを作成したいと思います。私は正常にformsetを作成しましたが、formsetは余分な確認オブジェクトを作成します。ここでDjangoモデルformsetクエリで余分なオブジェクトが生成される

は私のコードです:

VIEW

def render_fulfillment_modal(request,template='test.html'): 
    .... 
    formset = modelformset_factory(Confirmation) 
    form = formset(queryset=Confirmation.objects.filter(customer_order__deal = deal)) 

    if request.method == 'POST': 
     form = formset(request.POST, request.FILES) 
     if form.is_valid(): 
     form.save() 

TEMPLATE

<form method="post" action="{% url open_fullfill_modal deal.id %}">{% csrf_token %} 
     {{ form.management_form }}     
     {% for f in form %}  
     <tr> 
     <td>{{f.fullfilled}}</td>         
     <td> 
     <p class="name">{{f.instance|confirmation_user_info}}</p>         
     </td>      
     <td><input type="text" class="input-small datepicker"></td> 
     <td>{{f.tracking_code}}</td> 
     </tr> 
     {% endfor %} 

    <div class="pull-right button-box"> 
     <button type="submit" class="btn btn-primary btn-large">Save Changes</button> 
    </div> 

私は無関係なオブジェクトのための余分なフォームを取得しています私のクエリーセットではありません。私は別のモデルとこれを試してきました。私はそれが何かデータや何かを処理するためにformsetsと思う、私はわからない。問題は、このフォームを投稿するときに発生します。それは私にMultiValueDictKeyErrorを与えます:

"Key 'form-0-id' not found in <QueryDict: {u'form-MAX_NUM_FORMS': [u''], u'form-TOTAL_FORMS': [u'3'] ... 

アイデア?

答えて

5

ただ、これは私のために働いたrequest.Post

+0

をそれはすべてのfに対するhiddenフォームIDが与えられています{{f.id}}

{{f.fullfilled}}前に置く、とのQueryDictに渡します。同様の問題。 –

関連する問題