Formularsatz ist gültig, aber die form hat kein Attribut cleaned_data!

Ok, also ich habe einen Formularsatz, der gültig ist. Aber gibt mir eine Fehlermeldung, dass das Formular hat kein Attribut cleaned_data..

Ehrlich, ich habe absolut keine Ahnung, was passiert..

Ich habe versucht meinen code am terminal und es kehrte eine leere Wörterbuch.. ohne Fehler..

Formen:

class Clinical(forms.Form):
    _names = list(ClinicalForm.objects.values_list('form_id', 'form_name'))
    _names.append(("New", u'Nova entrada'))

    cliform_name = forms.ChoiceField(widget=RadioSelect(), choices=_names, label
         ="", required=True)

Ansichten:

ClinicalSet = formset_factory(Clinical, extra=2)

formset2 = ClinicalSet(request.POST)
if formset2.is_valid():
    choice1 = formset2.cleaned_data
    return render_to_response('valid_test.html', 
                                {
                                    'formset2': formset2,
                                    'wrongs1': wrongs1,
                                    'choice1': choice1 
                                    })
else:
    formset2 = ClinicalSet()
return render_to_response('valid_test.html', 
                            {
                                'formset2': formset2,
                                'wrongs1': wrongs1,
                                })    

Vorlage:

<form method="post" action="">
<div>
{{ formset2.management_form }}
    {% for form in formset2.forms %}
        {{ form }}
    {% endfor %} 
    <input type="submit" value="save" />
</div>

Wenn ich den Kommentar der Zeile, wo der cleaned_data genannt wird (choice1), die ich nicht erhalten eine Fehlermeldung, und ich bin in der Lage, um zu sehen, die Formen..

Wenn ich wählen, einige Optionen und kommentieren Sie diese Zeile, es funktioniert..

Ich habe ein ähnliches Formularsatz : beide Formen in formset ausgewählt werden müssen und dieser arbeitet..

form, die funktioniert, ist der erste Formularsatz (oben verlinkten). Die post-Parameter:

form-0-pres_name    1
form-1-pres_name    2
form-INITIAL_FORMS  0
form-TOTAL_FORMS    2

den Benutzer wählen Sie eine option in jeder form, und er ist eine Umleitung auf eine andere Ansicht (dieses ein - formset2).

Jede Hilfe ist mehr als willkommen..

  • Was Django version verwenden Sie? Dies sollte behoben werden, die in 1.3: code.djangoproject.com/ticket/11418
  • humm ich bin mit 1.1. Aber ich habe bereits einen Formularsatz zu arbeiten. ziemlich viel wie diese aber die Daten im inneren ist anders
  • Nach einem Blick auf das ticket @Mark Lavin erwähnt, ich würde sagen, es ist eine ziemlich sichere Wette, dass ist dein Problem. Ich kann nicht sagen, warum oder wie Ihr anderen Formularsatz funktioniert, aber Sie sollten wahrscheinlich nur den code so ändern, überprüfen Sie das Vorhandensein von cleaned_data über hasattr und entsprechend reagieren.
InformationsquelleAutor psoares | 2011-05-12
Schreibe einen Kommentar