Dans Django admin, je veux remplacer et implémenter mon propre formulaire pour un modèle (par exemple le modèle de facture).
Je souhaite que le formulaire de facture comporte des champs de saisie automatique pour le nom du client, le nom du produit et je souhaite également effectuer une validation personnalisée (comme la limite de crédit pour un client). Comment puis-je remplacer le formulaire par défaut fourni par Django admin et implémenter le mien?
Je suis nouveau à Django, j'apprécie tous les conseils.
Vous pouvez remplacer les formulaires pour l'administrateur intégré de Django en définissant l'attribut formulaire de ModelAdmin sur votre propre classe de formulaire. Voir:
Il est également possible de remplacer le modèle de formulaire - consultez https://docs.djangoproject.com/en/dev/ref/contrib/admin/#custom-template-options
Si vous recherchez spécifiquement la saisie semi-automatique, je peux recommander https://github.com/crucialfelix/Django-ajax-selects
Comment remplacer un formulaire dans l'administration Django selon les docs :
from Django import forms
from Django.contrib import admin
from myapp.models import Person
class PersonForm(forms.ModelForm):
class Meta:
model = Person
exclude = ['name']
class PersonAdmin(admin.ModelAdmin):
exclude = ['age']
form = PersonForm