Ich versuche ein Formular zu erstellen, in dem ModelChoiceField von querieset lädt und ich möchte einige benutzerdefinierte Werte zu ModelChoiceField für extend hinzufügen. Ich habe ein Auswahlfeld benutzt, wie unten, aber während ich das Formular aktualisiere, bekomme ich einen Fehler
Formularfehler: Wählen Sie eine gültige Auswahl. Diese Wahl ist keine der verfügbaren Möglichkeiten.
Code:
%Vor%Tue ich irgendetwas falsch hier?
Das wird nicht funktionieren. Schau dir an wie ein ModelChoiceField
funktioniert:
Sie können nicht zufällig etwas hinzufügen.
Verwenden Sie stattdessen ChoiceField
und bearbeiten Sie die Daten benutzerdefiniert.
Offenbar möchten Sie nur zulassen, dass diese Formularfelder optional sind. Mach es dir nicht schwer. Siehe die Dokumentation zum Markieren eines Formularfelds nach Bedarf.
%Vor%Haben Sie ein Person-Objekt mit pk 'None'?
Ich denke, du solltest
verwenden %Vor%bearbeiten:
Da Sie ein Modelchoice-Feld verwenden, würde ich denken, dass alle Ihre Auswahl entweder von diesem Modelltyp oder von keinem sein würden.
Sie können die Auswahlmöglichkeiten dieses Typs erweitern, indem Sie das an den Konstruktor für das modlechoice-Feld übergebene Queryset ändern, z. B .:
%Vor%Diese Frage spricht etwas über das Modelchoice-Feld und könnte für Sie von Interesse sein:
Wie filtere ich ForeignKey-Auswahlen in einem Django ModelForm?
Tags und Links django django-forms