如何解决删除对象Django代码似乎正确,但无法正常工作吗?
| 我从事此工作已经太久了,尽管我的所有研究都无法找出问题所在。不可否认,我是django的新手。 我有一个票证应用程序,它使用表单来创建,编辑和更新票证。我现在正尝试根据ticket_id(主键)删除它们。 我认为我有:def deleteTicket(request,ticket_id):
ticket = Ticket.objects.get(pk=ticket_id)
ticket.delete.all()
redirect_to = \'project/tickets.html\'
return HttpResponseRedirect(redirect_to)
在我的urls.py中:
(r\'^(?P<project_slug>[^\\.^/]+)/tickets/(?P<ticket_id>\\d+)$\',views.deleteTicket),
当我打开故障单并单击应调用此视图的链接时,将出现预期的页面,但仍列出了我刚尝试删除的故障单。我在任何地方都没有收到任何错误,但是此代码无济于事。为什么?
谢谢你的帮助!它让我发疯。
解决方法
我要假设您的缩进是正确的。
可以肯定的是,由于要删除的是
object
,因此您应该只去ticket.delete()
,而不是整个查询集,就不需要.all()
。实际上,要删除多个对象,您需要编写Ticket.objects.all().delete()
,所以您使用的语法是完全错误的,我很惊讶它没有引发异常。
另外,您不应通过GET
请求删除,而只能通过POST
删除。
最后,您应该使用ѭ8进行重定向,或者至少使用一个绝对URL。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。