In django admin gibt es Felder, die ich benötigen würde, wenn ein Modell eigenständig bearbeitet wird. Wenn es inline ist, möchte ich nicht, dass sie benötigt werden. Gibt es eine Möglichkeit, dies zu tun?Kann ich in Django admin Felder in einem Modell anfordern, aber nicht, wenn es inline ist?
Antwort
Während Daniel Rosemans Antwort funktioniert, ist es nicht die beste Lösung. Es erfordert ein wenig Code-Duplizierung, indem Sie das Formularfeld erneut deklarieren müssen. Wenn Sie zum Beispiel ein verbose_name
für dieses Feld hatten, müssten Sie auch label='My verbose_name already set on model'
zur Zeile CharField
hinzufügen, da bei einer erneuten Deklaration des gesamten Feldes grundsätzlich alles gelöscht wird, was in Ihrem Modell für dieses Feld eingestellt ist.
Der bessere Ansatz besteht darin, die Methode __init__
des Formulars zu überschreiben und field.required
explizit auf True
oder False
zu setzen.
class MyModelForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(MyModelForm, self).__init__(*args, **kwargs)
self.fields['myfield'].required = True
Sicher. Definieren Sie einfach ein benutzerdefiniertes Formular, wobei Ihr erforderliches Feld überschrieben wird, um required = True zu setzen, und verwenden Sie es in Ihrer Admin-Klasse.
class MyForm(forms.ModelForm):
required_field = forms.CharField(required=True)
class Meta:
model = MyModel
class MyAdmin(admin.ModelAdmin):
form = MyForm
class MyInlineAdmin(admin.ModelAdmin):
model = MyModel
Also hier verwendet MyAdmin das überschriebene Formular, aber MyInlineAdmin ist nicht.
- 1. Modell "Hilfe" Text in Django Inline Admin
- 2. Django admin Inline-Modell Anpassung
- 3. Readonly Felder im django admin/inline
- 4. Kann Django Felder in einem Modell laden?
- 5. Django Admin -> Reihenfolge der Felder ändern, einschließlich Inline-Felder
- 6. Django Inline-Modell Admin-Filter Ausländischen Feld
- 7. modell nicht in django admin
- 8. Django Admin: Kann ich Felder Reihenfolge definieren?
- 9. Django Admin - Mischen mehrerer Modell inlines in einzelnen Admin-Interface
- 10. Wie kann ich ein Django-Admin-Inline-Modell in einem Fieldset anzeigen?
- 11. Django 1.2.1 Inline-Admin für viele zu viele Felder
- 12. django-localflavor Felder nicht in Django Admin-Modelle angezeigt?
- 13. wie die queryset eines Inline-Modell in django admin begrenzen
- 14. Django admin inline
- 15. ausblenden Felder in Django Admin
- 16. In Django admin, umfassen auth.User als Inline-
- 17. django 1.5 admin inline extra
- 18. django admin Inline-Queryset-Limit
- 19. Inline-Formulare in Django 1.1 Admin Panel
- 20. Django admin GenericForeignKey inline
- 21. Django Admin-Schnittstelle Inline-Platzierung
- 22. Django: Zugriff auf die Elterninstanz über das Inline-Modell admin
- 23. Django Admin: OneToOne Beziehung als Inline?
- 24. django Admin nicht zeigt abstrakte Basisklasse Felder
- 25. Django Admin-Seite Reverse ForeignKey Inline
- 26. Django Admin: wie in einem Inline-Modell definierte Eigenschaften angezeigt werden?
- 27. Django - multiple Pluralisierung in Admin-Modell
- 28. Inline formset in Django - Entfernen bestimmter Felder
- 29. django Fremdschlüssel des Fremdschlüssels aber kann nicht in Admin-Seite
- 30. Django-Modell iterieren Felder
Vielen Dank – Mitch