Как исправить Запрос на сопоставление заказа не существует в Django? - PullRequest
1 голос
/ 28 марта 2020

Невозможно удалить объект: HViews выглядит следующим образом

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)

И

Urls.py имеет вид

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

models.py

class Order(models.Model): 
    STATUS = ( (' Pending', 'Pending'), ('Out for Delivery ', 'Out for Delivery '), ('Delivered ', 'Delivered ') , ) 
    customers = models.ForeignKey(Customer, null=True, on_delete= models.SET_NULL) 
    products = models.ForeignKey( Product, null=True, on_delete = models.SET_NULL) 
    created_date = models.DateTimeField(auto_now_add=True, null=True) 
    status = models.CharField(max_length=100, null=True, choices = STATUS) 
    def __str__(self): 
        return self.products.name

Ответы [ 2 ]

1 голос
/ 28 марта 2020

Попробуйте и убедитесь, что это работает для вас. Как удалить заказ по 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')

Не забудьте передать правильный контекст заказа с шаблоном pk в шаблоне, чтобы вы не получили реверс, не найденный.

0 голосов
/ 29 марта 2020

мой код, где вызывается 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 %}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...