こんにちは、カスタム検証を追加しました。 issubclass() arg 1 はクラスでなければならないという TypeError をスローしています。admin.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
トレースバックは
トレースバック: ファイル "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 103. resolver_match = resolver.resolve(request.path_info) ファイル "C:\Python27\lib\site-解決 319 の packages\django\core\urlresolvers.py"。 self.urlconf_module, "urlpatterns", self.urlconf_module) ファイル "C:\Python27\lib\site-packages\django\core\urlresolvers.py" in urlconf_module 342. self._urlconf_module = import_module(self.urlconf_name) ファイル "C :\Python27\lib\site-packages\django\utils\importlib.py" in import_module 35. インポート(名前) ファイル「C:\pythonprgs\opas\opas\urls.py」 in 5. admin.autodiscover() ファイル「C:\Python27\lib\site-packages\django\contrib\admin__init__.py」 in autodiscover 29 . import_module('%s.admin' % app) ファイル "C:\Python27\lib\site-packages\django\utils\importlib.py" in import_module 35. import(名前) ファイル "C:\pythonprgs\opas\schdeules\admin.py" in 60. admin.site.register(tbmstappraisalsched,AppraisalScheduleAdmin) ファイル "C:\Python27\lib\site-packages\django\contrib\admin\レジスタ 98 の "sites.py"。 :\Python27\lib\site-packages\django\contrib\admin\validation.py" in validate_base 317. hasattr(cls, 'form') で issubclass(cls.form, BaseModelForm) でない場合:
例外タイプ: TypeError at /admin/schdeules/tbmstappraisalsched/add/ 例外値: issubclass() arg 1 はクラスでなければなりません