Vous pouvez remplacer la méthode get_fieldsets de ModelAdmin.
L'implémentation par défaut ressemble à ceci:
def get_fieldsets(self, request, obj=None):
"Hook for specifying fieldsets for the add form."
if self.declared_fieldsets:
return self.declared_fieldsets
form = self.get_form(request, obj)
fields = form.base_fields.keys() + list(self.get_readonly_fields(request, obj))
return [(None, {'fields': fields})]
Vous pouvez la remplacer par exemple comme ceci:
class MyCustomAdmin(ModelAdmin):
def get_fieldsets(self, request, obj=None):
fs = super(MyCustomAdmin, self).get_fieldsets(request, obj)
# fs now contains [(None, {'fields': fields})], do with it whatever you want
all_fields = fs[0][1]['fields']
return fs
BaseAdmin.fieldsets est vide à ce stade. – second