当前位置: 首页 > 知识库问答 >
问题:

您好,我的自定义验证正在抛出一个类型错误,表示IsubClass()arg 1必须是一个类

柳越
2023-03-14

嗨,我添加了自定义验证。它抛出一个类型错误,表示issubclass()arg 1必须是一个类。和我的代码在管理。py是

class AppraisalScheduleAdmin(admin.ModelAdmin):
    exclude = ['intUpdatedBy']
    form = 'tbmstappraisalschedForm'

        def save_model(self, request, obj, form, change):
            obj.intUpdatedBy = request.user.id
            obj.save()

class tbmstappraisalschedForm(forms.ModelForm):

     def clean(self):
          """ 
          Override the default clean method to check whether this course has been already inputted.
          """    
          cleaned_data = super(tbmstappraisalschedForm, self).clean()
          depart_id = cleaned_data.get('intDeptID')
          fromdate = cleaned_data.get('sdtFromDate')
          todate = cleaned_data.get('todate')
          matching_records = tbmstappraisalsched.objects.filter(intDeptID=depart_id)
          if self.instance:
              matching_records.exclude(pk=self.instance.pk)
          if matching_records.exists():
              msg = "The slot for selected department and selected dates exists" % name
              raise ValidationError(msg)
          else:
              return self.cleaned_data
    class Meta:
        model = tbmstappraisalsched

回溯是

回溯:get\u响应103中的文件“C:\Python27\lib\site packages\django\core\handlers\base.py”。解析程序\匹配=解析程序。在resolve 319中解析(request.path_info)文件“C:\Python27\lib\site packages\django\core\urlresolvers.py”。对于自我的模式。url_模式:url_模式347中的文件“C:\Python27\lib\site packages\django\core\urlresolvers.py”。patterns=getattr(self.urlconf_模块,“urlpatterns”,self.urlconf_模块)文件“C:\Python27\lib\site packages\django\core\urlresolvers.py”,位于urlconf_模块342中。自我_urlconf_module=import_module(self.urlconf_name)文件“C:\Python27\lib\site packages\django\utils\importlib.py”,位于import_模块35中。在5中导入(名称)文件“C:\pythonprgs\opas\opas\url.py”。管理autodiscover()文件“C:\Python27\lib\site packages\django\contrib\admin\uuuuu init\uuuuu.py”位于autodiscover 29中。在导入模块35中导入模块(“%s.admin”%app)文件“C:\Python27\lib\site packages\django\utils\importlib.py”。在60中导入(名称)文件“C:\pythonprgs\opas\schdeules\admin.py”。管理地点在寄存器98中注册(tbmstappraisalsched,evaluationscheduleadmin)文件“C:\Python27\lib\site packages\django\contrib\admin\sites.py”。验证(admin_类,模型)文件“C:\Python27\lib\site packages\django\contrib\admin\validation.py”,位于validate 25中。验证\u base 317中的验证\u base(cls,模型)文件“C:\Python27\lib\site packages\django\contrib\admin\validation.py”。如果hasattr(cls,“form”)而不是issubclass(cls.form,BaseModelForm):

异常类型:TypeError at /admin/schdeules/tbmstappraisalsched/add/异常值:issubclass()arg 1必须是一个类

共有1个答案

吴宏扬
2023-03-14

请参阅下面的管理员代码。派克

    from .forms import tbmstappraisalschedForm 
    class AppraisalScheduleAdmin(admin.ModelAdmin):
        exclude = ['intUpdatedBy']
    #    form = 'tbmstappraisalschedForm'  you can not pass a string  here .
         form = tbmstappraisalschedForm     #do like this

 类似资料: