首页 > 解决方案 > /mobile/7/delete/ 'tuple' 对象的 AttributeError 没有属性 '_meta'

问题描述

我试图从我的项目中删除一个项目,但它给出了错误。有趣的是,它正在删除该项目,但上面提到了错误。

视图.py:

def delete_mobile(request, mobile_id):
    mobile1 = get_object_or_404(Mobile, pk=mobile_id).delete()
    form = MobileForm(instance=mobile1)
    if form.is_valid():
        form.delete()
        return redirect('mobile')
    return render(request, 'device/delete_mobile.html', {'mobile': mobile1})

delete_mobile.html:

{% extends 'device/base.html' %}
{% load crispy_forms_tags %}
{% block content %}
<div class="container">
   <form action="{% url 'delete_mobile' mobile.instance.id %}" method="POST">
    {% csrf_token %}
        <h3>Delete {{ header }}:</h3>
    {{ mobile|crispy }}
        <button class="btn btn-success" type="submit">Delete</button>
   </form>

{% 端块 %}

网址.py:

 path('mobile/<str:mobile_id>/delete/', views.delete_mobile, name='delete_mobile'),

标签: django

解决方案


实际上,问题是由于在我的删除视图中重复 .delete() 方法而发生的。现在我已经修复它并正常工作。

def delete_mobile(request, mobile_id):
    mobile1 = get_object_or_404(Mobile, pk=mobile_id)
    form = MobileForm(instance=mobile1)
    if form.is_valid():
        form.delete()
        return redirect('mobile')
    return render(request, 'device/delete_mobile.html', {'mobile': mobile1})

推荐阅读