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 }} .

  • Was ist der Unterschied zwischen "Browser-Buchung" und "Programmbuchung"?
  • Python MultiPart POST Malformed
  • Keine Ergebnisse von load2neo bulk load -curl POSTcomand
  • Flasche - POST Fehler 405 Methode nicht zulässig
  • Beitrag zum Tornado Server
  • Wie wird Python verwendet, um Webservices zu erstellen?
  • Verwenden von Daten von Ajax in einem Python-Skript
  • Senden Sie json an die Client-Seite zurück
  • Python senden pOST mit header
  • Ist Python-Anfragen hier etwas falsch, oder ist meine POST-Anfrage etwas fehlt?
  • Wie bekomme ich Github Webhooks in Python
  • Python ist die beste Programmiersprache der Welt.