2 Stimmen

Admin Form Integration für benutzerdefinierte Modellfelder in Django

Ich benötige ein Modellfeld, das aus einer numerischen Zeichenfolge für eine Django-App besteht, an der ich arbeite, und da eine nicht vorhanden ist, muss ich meine eigene rollen. Jetzt verstehe ich, wie "get_db_prep_value" und so funktionieren, und wie man das Model selbst erweitert (die Django-Dokumentation über benutzerdefinierte Modellfelder ist eine unschätzbare Ressource.), aber ich kann beim besten Willen nicht herausfinden, wie man die Verwaltungsschnittstelle auf der Grundlage von Eingabebeschränkungen richtig fehlerhaft macht.

Wie kann ich erreichen, dass das zugehörige Formularfeld in der Verwaltung bei falscher Eingabe einen Fehler ausgibt?

0voto

Blixt Punkte 48333

Werfen Sie einen Blick auf die Validierung von Formularen und Feldern in der Django-Dokumentation, vielleicht ist es das, wonach Sie suchen?

Sie müssten einen neuen Typ von Formularfeld für Ihr benutzerdefiniertes Modellfeld erstellen.

0voto

Daniel Roseman Punkte 565786

Sie müssen lediglich ein benutzerdefiniertes Modellformular definieren, das Ihr neues Feld verwendet, und dann dem Administrator mitteilen, dass er dieses Formular zur Bearbeitung Ihrer Modelle verwenden soll.

class MyModelForm(forms.ModelForm):
    myfield = MyCustomField()

    class Meta:
        model = MyModel

class MyModelAdmin(admin.ModelAdmin):
    form = MyModelForm

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X