bildet ModelChoiceField queryset + zusätzliche Auswahlfelder django forms

7

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?

    
sush 12.03.2011, 07:12
quelle

3 Antworten

15

Das wird nicht funktionieren. Schau dir an wie ein ModelChoiceField funktioniert:

%Vor%

Sie können nicht zufällig etwas hinzufügen.

Verwenden Sie stattdessen ChoiceField und bearbeiten Sie die Daten benutzerdefiniert.

%Vor%     
Yuji 'Tomita' Tomita 12.03.2011, 13:50
quelle
3

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%     
Josh Smeaton 12.03.2011 13:57
quelle
1

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?

    
DTing 12.03.2011 08:24
quelle

Tags und Links