mdn - django widgets



Verstecktes Feld in Django Model (3)

Vor einiger Zeit habe ich eine Model-Klasse gemacht. Ich habe mehrere ModelForms dafür gemacht und es hat wunderbar funktioniert.

Vor kurzem musste ich ein weiteres optionales Feld (leer = True, null = True) hinzufügen, damit wir einige Beziehungsdaten zwischen Benutzern speichern können. Es ist im Wesentlichen ein Überweisungssystem.

Das Problem beim Hinzufügen dieses neuen Feldes bedeutet, dass das Verweisfeld angezeigt wird, in dem ich die ModelForms nicht geändert habe, um sie auszuschließen. Normalerweise würde das nur zusätzliche 10 Minuten dauern und sie ausschließen, aber in diesem Fall habe ich aufgrund der Projektverwaltungspolitik, die ich nicht kontrollieren kann, nur die Kontrolle über die Modelle für diese Anwendung.

Kann ich entweder:

  • Legen Sie fest, dass das Feld automatisch ausgeschlossen wird.
  • Stellen Sie es so ein, dass es als versteckt (akzeptabel, wenn nicht perfekt) dargestellt wird?

https://code.i-harness.com


Obwohl Sie erwähnt haben, dass Sie in Ihrem Fall keinen Ausschluss verwenden können, denke ich, dass andere, die auf diese Antwort stoßen (wie ich, basierend auf dem Titel), es hilfreich finden können.

Es ist möglich, selektiv Felder mit exclude in ModelAdmin auszublenden, hier ist ein Ausschnitt aus etwas, an dem ich gerade arbeite:

class ItemsAdmin(admin.ModelAdmin):
    form = ItemsForm
    actions = None
    list_display = ('item_id', 'item_type', 'item_title', 'item_size', 'item_color',)
    search_fields = ('item_id', 'item_title',)
    inlines = [ImageInline,]
    readonly_fields = ('disable_add_date','disable_remove_date',)
    exclude = ('add_date', 'remove_date',)
    ###.............

Sie könnten eine benutzerdefinierte formfield() definieren und die Methode formfield() überschreiben, um ein Feld mit einem HiddenInput-Widget zurückzugeben. Weitere Informationen finden Sie in der Dokumentation zu benutzerdefinierten Feldern .






django-forms