【问题标题】:How to delete a record in django within the views?如何在视图中删除 django 中的记录?
【发布时间】:2013-09-02 18:55:05
【问题描述】:

我正在尝试使用 django 设置我的第一个 CRUD 页面,到目前为止,我已经分别进入了 D 部分 - 删除。根据在互联网上找到的信息,我尝试了这个:@ 987654321@,但是抛出了一个错误:@ 987654322@所以你能告诉我我做错了什么以便让它工作吗?

谢谢。

【问题讨论】:

  • 该代码不会给出该错误。您应该显示您实际使用的整个视图,因为您显然在某处调用了内置的 id() 函数。
  • 能否提供更多代码
  • 另外,您应该学习教程,而不是“从互联网上”跟踪信息,它将向您展示EXACTLY 如何做到这一点。
  • 我现在正在学习教程,但我想尝试不同的方法。本教程告诉我如果我要单击删除-> 被定向到模板,我必须接受该删除,然后魔术就会发生。我想点击删除按钮,它消失了,但到目前为止没有任何成功。
  • 听起来您的视图(或此代码所在的任何位置)没有变量id,因此请检查那里传递/设置的内容(这基本上只是另一种说法@DanielRoseman 不久前说过:-)。

标签: django crud


【解决方案1】:
SomeModel.objects.filter(id=id)[0].delete()

【讨论】:

  • 因为,为什么要推荐一个filter() 解决方案,然后使用列表符号评估它,然后.delete()m = SomeModel.objects.get(id=id) m.delete() 是更好的方法时。
  • 这正是我收到该错误时一直在做的事情。
  • 实际上,否决票是因为 OP 的语法完全有效,而这个答案没有添加任何内容。
  • 好的,谢谢,我只是想指出,如果我没记错的话,过滤器的结果是一个列表,而不是单个元素。
  • 嗯,结果是一个QuerySet,它本身有一个delete()方法。
猜你喜欢
  • 2019-04-08
  • 2011-04-17
  • 2011-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 2021-04-22
相关资源
最近更新 更多