你好我有一个麻烦关于对象不能在django中进行迭代,当我删除一个obect时,来自django的消息是'myobject'对象是不可迭代的。“myobject”不是Iterable,但我的obect被删除
这里我views.py
def delete(request, id=None):
myobject = get_object_or_404(MyObject, id=id)
myobject.delete()
context = {'myobject': myobject}
return render(request, "cat/home.html", context)
,在这里我home.html的
{% block content %}
{% for foo in myojbect %}
{% if foo.name_myobject %}
<p><a href="{% url 'cat:detail_myobject' id=foo.id %}">{{ foo.name_myobject }}</a></p>
{% endif %}
{% if foo.desc %}
<p>{{ foo.desc }}</p>
<a href="{% url 'cat:delete_myobject' id=foo.id %}">Delete</a>
{% endif %}
{% endfor %}
{% endblock %}
,如果我按 “删除”,出现错误一样, “ '为MyObject' 不是可迭代”,但我的对象被删除-_- 谢谢主席先生:)
你是如何规划它已被删除后,在您的语境词典返回'myobject'?另外'myobject'是一个单一的模型_object_,但你试图使用'{%for'来访问它的元素。 – Selcuk
@Selcuk我的计划是,在home.html中列出所有myobject,我把{%for home.html用于循环所有对象都有一个按钮“删除”。当我按下删除按钮时,对象被删除,并立即将页面返回到home.html。 所以,我需要{%for%},对吧?或者在我的代码中出现错误? – Oncom
然后在删除视图的末尾使用'redirect'而不是'render'。我建议你阅读更多关于Django的内容,因为你似乎对某些基本概念感到困惑。 – Selcuk