parameters: (self, **kwargs)
return_statement: return modelform_factory(self.model, **defaults)
docstring: Returns a Form class for use in the admin add view. This is used by
          add_view and change_view.
docstring_summary: Returns a Form class for use in the admin add view. This is used by
          add_view and change_view.
docstring_tokens: Returns a Form class for use in the admin add view . This is used by add_view and change_view .
function: def get_model_form(self, **kwargs):
          """
          Returns a Form class for use in the admin add view. This is used by
          add_view and change_view.
          """
          if self.exclude is None:
              exclude = []
          else:
              exclude = list(self.exclude)
          exclude.extend(self.get_readonly_fields())
          if self.exclude is None and hasattr(self.form, '_meta') and self.form._meta.exclude:
              # Take the custom ModelForm's Meta.exclude into account only if the
              # ModelAdmin doesn't define its own.
              exclude.extend(self.form._meta.exclude)
          # if exclude is an empty list we pass None to be consistant with the
          # default on modelform_factory
          exclude = exclude or None
          defaults = {
              "form": self.form,
              "fields": self.fields and list(self.fields) or None,
              "exclude": exclude,
              "formfield_callback": self.formfield_for_dbfield,
          }
          defaults.update(kwargs)
  
          if defaults['fields'] is None and not modelform_defines_fields(defaults['form']):
              defaults['fields'] = forms.ALL_FIELDS
  
          return modelform_factory(self.model, **defaults)
  
          try:
              return modelform_factory(self.model, **defaults)
          except FieldError as e:
              raise FieldError('%s. Check fields/fieldsets/exclude attributes of class %s.'
                               % (e, self.__class__.__name__))
function_tokens: def get_model_form ( self , * * kwargs ) : if self . exclude is None : exclude = [ ] else : exclude = list ( self . exclude ) exclude . extend ( self . get_readonly_fields ( ) ) if self . exclude is None and hasattr ( self . form , '_meta' ) and self . form . _meta . exclude : # Take the custom ModelForm's Meta.exclude into account only if the # ModelAdmin doesn't define its own. exclude . extend ( self . form . _meta . exclude ) # if exclude is an empty list we pass None to be consistant with the # default on modelform_factory exclude = exclude or None defaults = { "form" : self . form , "fields" : self . fields and list ( self . fields ) or None , "exclude" : exclude , "formfield_callback" : self . formfield_for_dbfield , } defaults . update ( kwargs ) if defaults [ 'fields' ] is None and not modelform_defines_fields ( defaults [ 'form' ] ) : defaults [ 'fields' ] = forms . ALL_FIELDS return modelform_factory ( self . model , * * defaults ) try : return modelform_factory ( self . model , * * defaults ) except FieldError as e : raise FieldError ( '%s. Check fields/fieldsets/exclude attributes of class %s.' % ( e , self . __class__ . __name__ ) )