Python 如何修复订单匹配查询问题';在Django不存在吗?

Python 如何修复订单匹配查询问题';在Django不存在吗?,python,django,Python,Django,无法删除对象: hView如下所示 def deleteorder(request, pk): order = Order.object.get(id=pk) if request.method == 'POST': order.delete() return redirect() context = {'item':order} return render(request,'accounts/delet.html', contex

无法删除对象: hView如下所示

def deleteorder(request, pk):
     order = Order.object.get(id=pk)
     if request.method == 'POST':
         order.delete()
         return redirect()
    context = {'item':order}
return render(request,'accounts/delet.html', context)

url.py如下所示

path('delete_order/<str:pk>/', views.deleteorder, name= 'delete_order')

试试这个,看看它是否适合你。如何按ID或主键删除订单。例如,您的订单视图如下所示:

def order_views(request):
    my_order = OrderItem.objects.all()
    #you can also filter through your order
    context = {'my_order': my_order} 

 {% for order in my_order %}
#Your code here
<a href="{url 'deleteorder' order.pk }">Delete</a>
 {% endfor %}

def deleteorder(request, pk):
     order = Order.object.get(id=pk)
     order.delete()
     return redirect()

path('delete_order/<pk>/', views.deleteorder, name= 'delete_order') 
or 
path('delete_order/<int:pk>/', views.deleteorder, name= 'delete_order')
def order_视图(请求):
my_order=OrderItem.objects.all()
#您还可以筛选您的订单
上下文={'my_order':my_order}
{我的订单%中的订单%}
#你的代码在这里
{%endfor%}
def删除订单(请求,主键):
order=order.object.get(id=pk)
order.delete()
返回重定向()
路径('delete_-order/',views.deleteorder,name='delete_-order')
或
路径('delete_-order/',views.deleteorder,name='delete_-order')

记住在模板中用pk传递正确的订单上下文,这样就不会得到反向未找到

下面给出了调用POST的代码

{% extends 'accounts/main.html' %}

{% load static %}

{% block content %}

<form action="" method="POST">
    {% csrf_token %}

    {{ formset.management_form }}

    {% for form in formset %}

        {{form}}

    <hr>

    {% endfor %}

    <input type="submit" name="Submit">

</form>

{% endblock %}
{%extends'帐户/main.html%}
{%load static%}
{%block content%}
{%csrf_令牌%}
{{formset.management_form}
{formset%中表单的%s}
{{form}}

{%endfor%} {%endblock%}
您需要修改url、路径('delete_-order/',views.deleteorder,name='delete_-order')并将pk与url一起传递。在这种情况下,使用DeleteView是最佳做法。我这样做了,但结果相同。您是否发送了pk参数?您能否在视图中打印pk?是的,我已将pk作为参数放置在deleteorder视图中,但无法删除已放置的订单。发生这种情况是因为您传递的pk没有对象。你需要重新检查你是否通过了正确的pk。当你用pk=id查找fir订单时,你的代码被破坏了。你能共享订单模型和很少的数据库记录吗。怎么办?我也这么做了,但结果是一样的produced@Muhammad.. 张贴您的订单模型。Django中不存在该查询,因为您的代码中有一个错误,看起来您没有得到实际的pk。也许您可以在url和视图中将pk更改为id。试着打印出身份证,让我知道你得到了什么。@Muhammad。。。Try Order=objects.filter(id=pk)我尝试了Order=Order.objects.filter(id=pk),但我遇到了一个错误,告诉我找不到参数为“(”,)”的“delete_Order”的反向。尝试了1个模式:[“delete_Order/(?P[^/]+)/$”]伙计!!!你需要显示所有相关代码,你做错了。共享表单并获取此模板的函数,此代码应该在问题本身而不是答案中
{% extends 'accounts/main.html' %}

{% load static %}

{% block content %}

<form action="" method="POST">
    {% csrf_token %}

    {{ formset.management_form }}

    {% for form in formset %}

        {{form}}

    <hr>

    {% endfor %}

    <input type="submit" name="Submit">

</form>

{% endblock %}