Versuche, mein Django Model Formset zu speichern, bekomme ManagementForm Fehler?

Also, eine komplette Django Model Formset Newb Frage. Ich versuche, meine Form zu speichern und diesen Fehler zu erhalten:

['ManagementForm data is missing or has been tampered with'] 

Hier habe ich für meine TemplateView:

  class AttendanceTemplate(TemplateView): template_name = 'attendance/index.html' def get_context_data(self, **kwargs): context = super(AttendanceTemplate, self).get_context_data(**kwargs) instruction = Instruction(self.request.user.username) sections_list = self.request.GET.getlist('sections_list') term = self.request.GET.get('term', instruction.term) enrollments = Enrollment.objects.using('wisp').prefetch_related('profile').filter(section_id__in=['111111'], term=term) attendanceQuery = Enrollment.objects.using('wisp').prefetch_related('student').filter(section_id__in=['111111'], term=term) for enrollment in attendanceQuery: attendance, created = Attendance.objects.update_or_create( section_id=enrollment.section_id, term=enrollment.term, first_name=enrollment.student.first_name, last_name=enrollment.student.last_name, email_address=enrollment.student.email_address, ) something = Attendance.objects.filter(section_id__in=['111111'], term=term) formset = AttendanceFormSet(queryset=something) combined = zip(enrollments, formset) context['combined'] = combined return context 

Hier versuche ich, das Formular zu speichern:

 def post(self, request): formset = AttendanceFormSet(request.POST) if formset.is_valid(): for thing in formset: formset = thing.save() return render_to_response("template/index.html",{'formset': formset}, RequestContext(request)) else: return HttpResponse(error.msg) 

Hier habe ich in meiner Vorlage:

  <form method="POST" action=""> {% csrf_token %} {% for enrollment, form in combined %} <div class="wrapper-formset"> <div> {{ form.first_name.value }} {{ form.last_name.value }} {{ form.email_address.value }} </div> <div class="clear-all"></div> </div> {% endfor %} <button type="submit" class="save btn btn-default">Save</button> </form> 

Bin ich das Formular falsch? Vielleicht ist meine Schleife falsch? Auch würde ich es vorziehen, jedes Feld einzeln auszudrucken, also mit dem "myform.management_Form" kann nicht für mich arbeiten? (ZB myform.management_form.field_name)

One Solution collect form web for “Versuche, mein Django Model Formset zu speichern, bekomme ManagementForm Fehler?”

Wenn Sie die Formulare separat rendern, müssen Sie das Verwaltungsformular in Ihre Vorlage aufnehmen. Die Tatsache, dass Sie Ihre Formulare zippen, macht keinen Unterschied.

Einschließlich der Management-Formular ist einfach, füge einfach {% formset.management_form %} zu deiner Vorlage hinzu.

 <form method="POST" action=""> {% csrf_token %} {{ formset.management_form }} {% for enrollment, form in combined %} ... 

Für das zu arbeiten, müssen Sie sicherstellen, dass formset im Template-Kontext ist, zum Beispiel:

  context['formset'] = formset 

Vielleicht finden Sie die docs auf die Verwendung von Modellformularen in der Vorlage nützlich. Es wäre eine gute Idee, mit der einfachsten Option, {{ formset }} , es zu testen, dann schrittweise anpassen die Vorlage. Das macht es leichter zu debuggen, wenn das Zeug schief geht Im Moment sieht es so aus, als hättest du es verpasst {{ form.id }} .

  • Hilfe bei cURL in Python
  • Google Reverse-Image-Suche mit POST-Anfrage
  • Postanforderung mit multipart / form-data in appengine python funktioniert nicht
  • Django Test Client Post () liefert 302 trotz Fehler auf View Post ()
  • Wie werden POST- und GET-Variablen in Python behandelt?
  • Python-Standardbibliothek zu POST-Multipart- / Form-Daten-codierten Daten
  • Machen Sie eine http-POST-Anfrage zum Hochladen einer Datei mit python urllib / urllib2
  • Erhalten interner Serverfehler beim Versuch, json in django zu behandeln
  • Senden von POST-Parametern mit Python mit Mechanize
  • Warum enthält pypi-Upload \ r \ n in POST-Anforderungsdaten?
  • Wie kann ich mich bei facebook mit python (requests / urllib3) anmelden?
  • Python ist die beste Programmiersprache der Welt.