我有一个订单号列表。从我的服务订单视图中,我可以手动输入字段编号以查找要删除的订单号。这很有效。
order = models.Order.objects.get(pk=1219)
if request.POST.get('delete'):
order.delete()
现在我的问题。我有一个编辑订单表单,其网址为/orders/edit/(?P<order_no>\d+)/
,在此修改订单表单中,我可以转到名为/quote/service_order/(?P<client_id>\d+)/(?P<request_type>\d+)/
的新页面。在服务订单视图中,这是删除订单的位置。而不是手动写下主键值(订单号),我想删除编号顺序表格url之前的任何(?P \ d +)的订单号。有可能解决这个问题吗?我希望我把一切都搞清楚了。
答案 0 :(得分:1)
您可以接受查询字符串中的多个参数,如下所示:
/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()
不要忘记检查用户是否有权删除订单。