2

私はまだフォームセットと戦っていますが、なぜこのエラーが発生するのか本当に理解できません:

u'ManagementForm データが見つからないか、改ざんされています

これが私のコードです。間違いを指摘して、この問題の解決を手伝ってください。

@csrf_protect
@transaction.commit_on_success
def signup(request):
    form = NewUserCreationForm()
    doc_form = NewDocRegisterForm()

    SpecialityLicensesFormSet = modelformset_factory(SpecialityLicenses, extra=1, exclude = ('user'))
    formset = SpecialityLicensesFormSet(queryset=SpecialityLicenses.objects.none())

    if request.method == "POST":

        form = NewUserCreationForm(request.POST or None)
        doc_form = NewDocRegisterForm(request.POST or None)
        formset = SpecialityLicensesFormSet(request.POST or None)


        if form.is_valid() and doc_form.is_valid() and formset.is_valid():

            user = form.save()

            doc = doc_form.save(commit=False)
            doc.user = user
            doc.save()



            print formset
            fset = formset.save(commit=False)

            for n in fset:
                n.user = user
                n.save()

            return HttpResponse("Uzytkownik utowrzony")

    return render_to_response("userena/signup_new.html", {'form': form,
                                                          'doc_form': doc_form,
                                                          'spec_form': formset,}, 
                              context_instance=RequestContex

t(request)) 

テンプレート コード:

<form action="/en/accounts/doc_register/" method="post">{% csrf_token %}
    {% for field in form %}


    <div>
        {% if field.errors %}
            {{ field.errors|striptags }} |
        {% endif %}

        {{field.label}} | {{ field}}
    </div>


    {% endfor %}

    <hr>


    {% for f in doc_form %}
    <div>
    {% if f.errors %}
    {{f.errors|striptags}} | 
    {% endif %}

    {{f.label}} : {{ f }}
    </div>
    {% endfor %}
    <hr>

    {{ spec_form.management_form }}
    {{ spec_form }}

            <hr>
    <input type="submit" value="Submit"/>
</form>
{% endblock %}
4

2 に答える 2

9

{{ formset.management_form }}する場合はする必要はありませ{{ formset }}ん。

{{ formset.management_form }}
{% for form in formset %}
  {{ form }}
{% endfor %}

{{ spec_form.management_form }}テンプレートからビットを削除してみてください。3番目の例を見てください

于 2012-04-24T18:10:47.070 に答える
0

フォームセットのプレフィックスが欠落している場合、フォームセットのプレフィックスを追加すると、エラーが発生します

于 2020-10-23T06:22:47.157 に答える