我正在使用删除视图,我想自定义删除操作。
在删除对象之前我需要做一些检查,如果是
检查未通过我想重定向到同一视图并显示匹配的
按摩(就像我可以使用form.add_error
在form_valid方法中做的那样)并返回self.form_invalid(form))。
所以我有以下删除方法:
def delete(self, request, *args, **kwargs):
if XXXX:
### add_error and return a massage ###
else:
return super(delete, self).delete(request, *args, **kwargs)
我需要/可以在“if”中做什么来阻止删除并解释用户
问题是什么?
THX
答案 0 :(得分:1)
为了防止删除,你只需要在if子句中调用super()。delete。
为了解释未执行删除的原因,您可以使用django消息(https://docs.djangoproject.com/en/1.8/ref/contrib/messages/)
所以我认为你可以在你的if子句中使用这样的东西
messages.add_message(request, messages.WARNING, 'Object was not deleted')
return self.render_to_response(self.get_context_data())
您可以使用django messages文档中的代码访问消息文本: https://docs.djangoproject.com/en/1.8/ref/contrib/messages/#django.contrib.messages.get_messages