我正在为部分非页面模型使用ModelAdmin,并希望添加一些自定义验证。
这是一些代码。
class EditPlanningView(EditView):
def publish_url(self):
return self.url_helper.get_action_url('publish', self.pk_quoted)
def unpublish_url(self):
return self.url_helper.get_action_url('unpublish', self.pk_quoted)
def post(self, request, *args, **kwargs):
form = self.get_form()
if form.is_valid():
instance = form.save(commit=False)
if bool(request.POST.get('action-publish')):
try:
instance.publish(commit=True)
except PublishWithoutMeetingError as e:
form.add_error(
'planning_meeting',
e
)
return self.form_invalid(form)
验证失败时,将返回无效表单,但我添加的错误未绑定到该字段。相反,顶部会显示“常规错误消息”。
有人能帮助我吗?
干杯,
罗伯特