带条件的通用deleteview

时间:2015-08-17 17:45:05

标签: python django django-views django-generic-views

我一直在尝试创建一个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()这样的东西,但那些东西不起作用。

或者有没有办法在通用视图中检查这个? 我也试过了,但我无法加载错误页面,只是抛出错误。

1 个答案:

答案 0 :(得分:3)

要使用DeleteView执行此操作,只需覆盖继承视图上的delete方法即可。这是一个基于你所说的例子。这只是您如何实现它的一个例子。您可能需要根据具体情况调整它,特别是can_delete

上的else
awk