首先看一下ModelAdmin类的源代码
get_form和
get_formsets位于中的方法
django.contrib.admin.options.py。您可以覆盖这些方法,并使用kwargs获得所需的行为。例如:
class SoftwareVersionAdmin(ModelAdmin): def get_form(self, request, obj=None, **kwargs): # Proper kwargs are form, fields, exclude, formfield_callback if obj: # obj is not None, so this is a change page kwargs['exclude'] = ['foo', 'bar',] else: # obj is None, so this is an add page kwargs['fields'] = ['foo',] return super(SoftwareVersionAdmin, self).get_form(request, obj, **kwargs)



