1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class InitialFieldsMixin(object):
def get_form(self, request, obj=None, **kwargs):
form = admin.ModelAdmin.get_form(self, request, obj, **kwargs)
if not hasattr(self.__class__, 'initial'):
return form
old_init = form.__init__
def new_init(_self, *args, **kwargs):
if 'instance' not in kwargs:
for field_name, callback in self.__class__.initial.iteritems():
kwargs['initial'][field_name] = callback(self, request,
obj, **kwargs)
return old_init(_self, *args, **kwargs)
form.__init__ = new_init
return form
|
More like this
- duplicate, please delete by RommeDeSerieux 3 years, 8 months ago
- RequestFetchingMixin by eternicode 2 years, 3 months ago
- ExtendibleModelAdminMixin by dokterbob 3 years, 6 months ago
- Memento by manelvf 2 years, 4 months ago
- Remove named field from fieldsets by dokterbob 3 years, 6 months ago
Comments