Удалить номер заказа в Django - PullRequest
0 голосов
/ 17 февраля 2011

У меня есть список номеров заказов.В представлении заказа на обслуживание я могу вручную ввести номер поля, чтобы найти номер заказа для удаления.Это хорошо работает.

order = models.Order.objects.get(pk=1219)
if request.POST.get('delete'):
    order.delete()

Теперь мой вопрос.У меня есть форма заказа на изменение с URL-адресом /orders/edit/(?P<order_no>\d+)/, и в этой форме заказа на редактирование я могу перейти на новую страницу с именем /quote/service_order/(?P<client_id>\d+)/(?P<request_type>\d+)/.В представлении заказа на обслуживание это место, где заказ удален.Вместо того, чтобы вручную записывать значение первичного ключа (номер заказа), я хочу удалить номер заказа, который был таким, какой (? P \ d +) был в URL-адресе формы редактирования, который был раньше.Возможно ли найти решение этой проблемы?Надеюсь, я все прояснил.

1 Ответ

1 голос
/ 17 февраля 2011

Вы можете принять несколько параметров из строки запроса, например:

/quote/service_order/(\d+)/(\d+)

Тогда по вашему мнению:

# client_id - first parameter in braces from the url
# order_id - 2nd parameter in braces from the url
def order_view(request, client_id, order_id):
    order = models.Order.objects.get(pk=int(order_id))
    if request.POST.get('delete'):
        order.delete()

Не забудьте проверить, есть ли у пользователя разрешение на удаление заказа.

...