(self, **kwargs)
return modelform_factory(self.model, **defaults)
根据 Model 返回 Form 类，用来显示表单。
根据 Model 返回 Form 类，用来显示表单。
根据 Model 返回 Form 类，用来显示表单。
def get_model_form(self, **kwargs):
        """
        根据 Model 返回 Form 类，用来显示表单。
        """
        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:
            # 如果 :attr:`~xadmin.views.base.ModelAdminView.exclude` 是 None，并且 form 的 Meta.exclude 不为空，
            # 则使用 form 的 Meta.exclude
            exclude.extend(self.form._meta.exclude)
        # 如果 exclude 是空列表，那么就设为 None
        #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)
        # 使用 modelform_factory 生成 Form 类
        return modelform_factory(self.model, **defaults)
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 : # 如果 :attr:`~xadmin.views.base.ModelAdminView.exclude` 是 None，并且 form 的 Meta.exclude 不为空， # 则使用 form 的 Meta.exclude exclude . extend ( self . form . _meta . exclude ) # 如果 exclude 是空列表，那么就设为 None #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 ) # 使用 modelform_factory 生成 Form 类 return modelform_factory ( self . model , * * defaults )