Ich mache eine Django-App mit benutzerdefinierten Nutzern. Ich habe unten die Schlüsselkomponenten meines Problems skizziert, fehlender Code ist mit '...' gekennzeichnet. Mein benutzerdefiniertes Benutzermodell hat eine Fremdschlüsselbeziehung wie folgt:
%Vor%Ich habe ein benutzerdefiniertes Benutzerformular geschrieben, das dieses Feld wie folgt enthält:
%Vor%Dies scheint alles richtig zu funktionieren, jedoch gibt es keine Schaltfläche "Plus" rechts neben dem Auswahlfeld für den Standort. Ich möchte in der Lage sein, einen Standort hinzuzufügen, wenn ich einen Benutzer erstelle, genauso wie Sie Umfragen hinzufügen können, wenn Sie Auswahlmöglichkeiten in der Django tutorial . Laut auf diese Frage könnte ich nicht Siehe das grüne Plus, wenn ich keine Berechtigung zum Ändern des Modells habe, aber ich bin als Superuser mit allen Berechtigungen angemeldet. Irgendeine Idee, was ich falsch mache?
Sie müssen einen RelatedFieldWidgetWrapper
-Wrapper in Ihrem Modell angeben:
%Vor%The RelatedFieldWidgetWrapper (gefunden in django.contrib.admin.widgets) wird in den Admin-Seiten verwendet, um die Funktion für einen Fremdschlüssel einzubinden Steuerelement, um einen neuen verwandten Datensatz hinzuzufügen. (In Englisch: setzt das kleine grüne Pluszeichen rechts neben dem Steuerelement.)
Ich könnte im Beispielcode einen Fehler machen, siehe diese Posts und Beispiele:
Ich habe eine Methode basierend auf den obigen Antworten erstellt:
%Vor%Und dann diese Methode aus meinem Formular aufrufen:
%Vor%Das funktioniert auf Django 1.8.2 gut.
Google hat mich auf diese Seite gelenkt, als ich nach einem "+" - Symbol neben Feldern in einem benutzerdefinierten Formular mit ForeignKey-Beziehung gesucht habe. Daher dachte ich, ich würde hinzufügen.
Für mich war die Verwendung von django-autocomplete-light
mit der Funktion "Add Another" sehr gut gelungen.
Tags und Links python django django-forms django-admin