我有一个基于Django类的删除视图
它由模板调用(DetailsView,它的底部有一个按钮,我想单击该按钮以删除记录)
模板中的代码是这样的:
<div>
<a href="{% url 'update_candidate' object.pk %}" class="button">Edit</a>
</div>
<form method="post" action="{% url 'delete_candidate' object.pk %}" class="inline">
{% csrf_token %}
<input type="hidden" name="object_pk" value="{{ object.pk}}">
<button type="submit" name="delete" value="delete" class="link-button">
</button>
</form>
update_candidate使用object.pk工作...页面显示了正确的对象,但是如果我尝试删除则出现错误
请求方法:POST请求URL: http://127.0.0.1:8000/candidates/delete_candidate/1/ Django版本: 2.0.6异常类型:错误配置的异常值:DeleteCandidateView缺少QuerySet。限定 DeleteCandidateView.model,DeleteCandidateView.queryset或覆盖 DeleteCandidateView.get_queryset()。
POST变量值object_pk'1' csrfmiddlewaretoken
'Vp3McmK88riynpBJ9U2yPRXNvI3i8ufeepY2FnRt1cktW7aw48p7JsYTnFWvk4kD'删除“删除”
有人对如何解决此问题有任何想法吗?
答案 0 :(得分:0)
消息说,使用通用CBV DetailView或DeleteView的某些视图设置错误,在这种情况下,DeleteCandidateView可能缺少某些必需属性:
model
,queryset
,或者您需要覆盖DeleteCandidateView.get_queryset
这取决于您使用的基于通用类的视图,但是通常看起来像这样:
class DeleteCandidateView(DetailView):
model = DeleteCandidate # or whatever your model is called