You can override the get_fieldsets ModelAdmin method.
The default implementation is as follows:
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})]
So, you can override it, for example, as follows:
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
user920391
source share