Nehmen wir an, ich habe ein sehr einfaches Modell
%Vor%Dieses Modell ist im Admin-Modul registriert:
%Vor% Momentan, wenn ich auf die Admin-Oberfläche gehe, nachdem ich auf "Nachricht hinzufügen" geklickt habe, habe ich nur ein Formular, wo ich msg
eingeben kann.
Ich hätte gerne mehrere Formulare (Formularsatz vielleicht) auf der "Seite hinzufügen", so dass ich mehrere Nachrichten gleichzeitig erstellen kann. Es ist wirklich ärgerlich, jedes Mal auf "Speichern und Hinzufügen" klicken zu müssen.
Idealerweise möchte ich etwas wie InlineModelAdmin
erreichen, aber es stellt sich heraus, dass Sie es nur für die Modelle verwenden können, die mit dem Objekt zusammenhängen, das bearbeitet wird.
Was würden Sie zur Lösung dieses Problems empfehlen?
Dies ist möglicherweise nicht genau das, was Sie suchen, aber wenn Sie mehrere Objekte gleichzeitig erstellen möchten, können Sie etwas ähnliches tun:
%Vor%Grundsätzlich erstellen Sie ein benutzerdefiniertes Formular für Ihre Admin-Vorlage, das den Benutzer fragt, wie oft das Objekt erstellt werden soll. Die Logik wird dann in der save_model-Methode interpretiert.
Zur Problemumgehung: Da ist es wahrscheinlich, dass Sie einen FK für User
haben, sodass Sie% InlineModel
für das User
-Modell definieren können.
Andernfalls kann es am einfachsten sein, eine benutzerdefinierte Admin-Ansicht zu erstellen, da es keine generische Admin-Ansicht gibt, die Formsets anzeigt und speichert.
Dies ist einfach, wenn Sie eine Inline verwenden. Dann könnten Sie extra = 10
oder beliebig viele zusätzliche Formsets verwenden. Es scheint keine Entsprechung für ModelAdmin
zu geben.
Natürlich müssten Sie in Ihrem Nachrichtenmodell ein ForeignKey
für eine Art von Nachrichtengruppierungsmodell als eine weitere Funktionsebene erstellen und das Multi-Formularsatz-Layout erhalten, nach dem Sie suchen.
Zum Beispiel:
%Vor% Dies würde Ihnen geben, was Sie in der Admin-Ansicht wollen und Gruppierung erstellen (selbst wenn Sie nur eine Gruppe zulassen) und das einzige zusätzliche Feld wäre name
im Gruppenmodell. Ich bin mir nicht einmal sicher, ob du das brauchen würdest. Ich bin auch sicher, dass der Wert für extra
dynamisch für einen beliebigen Wert generiert werden könnte.
Ich hoffe, das hilft!
Tags und Links python django django-forms django-admin django-models