Django查看订单历史记录

时间:2020-07-10 03:42:36

标签: python django

我正在使用一个功能,管理员可以单击客户的用户名并查看客户的订单历史记录。到目前为止,我只能查看已登录用户的所有订单。如果以admin身份登录,我的模板将显示由不同客户创建的所有订单。而且,如果我以客户身份登录,则只能查看自己的订单。我想添加一个附加功能,如果我以管理员身份登录,我希望能够单击任何客户的用户名并查看他/她的订单历史记录。我面临的问题是我只能查看登录用户的订购历史记录,但不是我单击过的用户的订购历史记录。


views.py
def order_history(request, user):
    order_qs = Order.objects.filter(user=user)

    context = {
        'order_qs': order_qs,
    }
    return render(request, "order_history.html", context)


order_history.html

{%  for order in order_qs  %}
  {{ order.user }}
    {{ order.id }}
{% endfor %}

1 个答案:

答案 0 :(得分:0)

Post上的

user将是User表的主键,它是一个整数(除非对默认值进行了修改),而不是username。您要么首先要查找用户名是User,要么使用其他Django'magic'。也许尝试其中一种(我认为它们在后端都做同样的事情):

def order_history(request, username):
    order_qs = Order.objects.filter(user__username=username)

    context = {
        'order_qs': order_qs,
    }
    return render(request, "order_history.html", context)

应该可以。 有关更多信息,请查看问题Field 'id' expected a number but got 'natsu' django

的答案
相关问题