1

Python の経験が限られているため、Django を初めて使用します。Form と Formset を編集しようとしています。フォームを編集して保存することはできますが、フォームセットで編集内容を保存することができません。ビューからの私のコードは次のとおりです。

@login_required
def edit_asr(request, asr_id):
    context = RequestContext(request)

    if not is_editor(request):
        return HttpResponse("You are not authorized to view this record")

    if request.method == 'POST':

        asr_record = ASR.objects.get(id=asr_id)
        form = BuildASRForm(request.POST, instance=asr_record)
    formset = ASRTripLegFormset(request.POST, instance=asr_record)

    if form.is_valid():
            form.save(commit=True)
            logger.info("ASR %s was edited by %s" % (asr_id, request.user))


            return HttpResponseRedirect('/asr/%s/' % asr_id)

        else:
            logger.error("Edit ASR form returned the following errors for user %s: %s" % (request.user, form.errors))


    else:
        asr_record = ASR.objects.get(id=asr_id)
        form = BuildASRForm(instance=asr_record)
    formset = ASRTripLegFormset(instance=asr_record)
    return render_to_response('asr/edit_asr.html', {'form': form, 'formset': formset, 'asr_id':asr_id}, context)

if formset.is_valid():ステートメントの下にインデントされた呼び出しを試みましif form-is_valid():たが、エラーがスローされMultiValueDictKeyErrorます。これが初心者の質問である場合は申し訳ありませんが、行き詰まっています。

ありがとう!

4

0 に答える 0