2017-06-28 1 views
1

Ich versuche, ein Modell über ein Formular zu erstellen, das mehrere andere damit verbundene Modelle enthält. Angenommen, ich habe einen Modellverlag, dann einen anderen Modellartikel mit einem Fremdschlüssel für Publisher. Wenn ich einen Publisher über ein Formular erstelle, möchte ich gleichzeitig einen Artikel erstellen. Ich weiß, wie man das über Formsets macht. Ich weiß jedoch nicht, wie man eine Schaltfläche hinzufügt, die besagt, dass ein zusätzlicher Artikel in derselben Ansicht hinzugefügt werden soll, ohne auf eine neue Seite umgeleitet zu werden und die alten Daten zu verlieren, da das Formular nicht gespeichert wurde. Was ich möchte, ist, wenn jemand auf einen neuen Artikel klickt, ein neues Formular erscheint und der Benutzer einen neuen Artikel hinzufügt. Ist dies in Django möglich, wenn ja, kann mir jemand eine Idee geben, wie ich das angehen soll?Option zum Hinzufügen zusätzlicher Optionen im Django-Formular

Ich würde Code oder meine Versuche zeigen, aber ich bin nicht sicher, wie man es sogar nähert.

Antwort

0

Dies kann nur mit JavaScript durchgeführt werden. Der schwierige Teil besteht darin, das Verwaltungsformular mit der Anzahl der Zeilen synchronisieren zu lassen.

Aber gibt es zwei Alternativen:

  1. Semi-javascript (Mezzanine Ansatz): Erzeugen Sie eine Tonne von Zeilen in der formset und zeigen nur eine leer. Nach dem Klicken auf die Schaltfläche "Eine weitere Zeile hinzufügen" blenden Sie die nächste ein. Dies macht es einfacher, das Verwaltungsformular zu handhaben, da die ungefüllten Extras keine Arbeit benötigen.
  2. Kein Fix benötigt: Fügen Sie so viele Zeilen hinzu, wie es menschlich sinnvoll ist. Im Allgemeinen brauchen die Leute keine 40 Zeilen, sie werden gelangweilt mit dem Ausfüllen des Formulars oder der Sorge, dass all diese Arbeit verloren geht, wenn der Browser abstürzt.

Hoffe das hilft Ihnen weiter. Viel Glück!

Verwandte Themen