Ich versuche, eine Dropdown-Liste in meinem Formular anzuzeigen, von meinem Modell 'TipoDocumento' (ich muss die Spalte 'nombre_corto' als Liste anzeigen).
1) Mein Modellname ist "Cocinera", Cocinera erbt von meinem Modell "Usuario".
2) "Usuario" erbt sein "Documento" -Feld von meinem Modell "Documento".
3) Das Modell "Documento" erbt das Feld "tipo_documento" von "TipoDocumento".
Aber ich kann "tipo_documento" nicht als Liste von meinem "Cocinera" -Modell über mein "Cocineraform" -Formular wiedergeben. Ich erhalte einen Fehler, der am Ende detailliert ist.
Alle meine Modelle sind in der "Nukleo" -App. Nur das Formular, das gerendert wird, ist in meiner anderen App 'app_administrador'.
===============================
Nucleo - Die App heißt nur Nukleo
===============================
MODELLE:
Modell 'TipoDocumento'
%Vor%Modell 'Documento'
%Vor%Modell 'Usuario':
%Vor%Modell 'Cocinera':
%Vor%===============================
app_administrator
===============================
Mein Formular
%Vor%Verwandte Frage: Nach diesem Verwenden Sie Django ModelChoice Feld zu Pulldown zu Lookup-Tabelle erstellen?
Ich habe hinzugefügt:
%Vor%Aber trotzdem, wenn ich meine App starte, bekomme ich:
%Vor%Also, ich habe die Antwort gefunden: Ich musste mit zwei Formen arbeiten, nicht nur mit einer, und rendere beide in der 'Vorlage'.
Schritte:
1.- Ich musste neben dem "CocineraForm" ein zusätzliches Formular "DocumentoForm" erstellen.
%Vor%2.- Ich musste alle Felder beider Formulare validieren. Erstellen Sie eine "Documento" -Instanz aus dem Formular "DocumentoForm", ohne sie in der DB zu speichern (commit = 'False'). Und ich musste diese "Documento" -Instanz dem "cocinera" -Modell als Feld hinzufügen. Genau hier sollte ich die 'CocinerForm' mit '.save ()' speichern.
%Vor%3.- Arbeiten Sie mit 2 Formularen in der Vorlage.
%Vor%Natürlich können Sie wie gewohnt ein zusätzliches Feld in das Formular einfügen.
Sie dürfen jedoch das Nicht-Modellfeld 'tipo_documento' nicht in die Liste der Felder einfügen, da dies nur für die in Ihrem Modell definierten Felder gilt.
Du solltest also gut sein mit:
%Vor%Beachten Sie das fehlende 'tipo_documento' aus der Feldliste.
Tags und Links django inheritance django-forms