我一直在尝试创建一个Django泛型deleteview,以删除模型的实例。
但我必须检查是否允许删除此项目。这是使用模型中定义的方法完成的。
到目前为止,我已创建了这个:
@login_required
def delete_employee(request, pk):
employee = None
try:
employee = Employee.objects.get(pk=pk)
except:
pass
if employee and not employee.empty():
return render(request, "error.html", None)
else:
# Load the generic view here.
这是一个不错的方式吗?如何在那里加载通用视图?
我尝试过像EmployeeDelete.as_view()
这样的东西,但那些东西不起作用。
或者有没有办法在通用视图中检查这个? 我也试过了,但我无法加载错误页面,只是抛出错误。
答案 0 :(得分:3)
要使用DeleteView执行此操作,只需覆盖继承视图上的delete方法即可。这是一个基于你所说的例子。这只是您如何实现它的一个例子。您可能需要根据具体情况调整它,特别是can_delete
上的elseawk