def view_all_orders(request): # 检查用户是否登录 util = Util() username = util.check_user(request) if username == '': uf = LoginForm() return render(request, 'index.html', {'uf': uf, 'error': '请登录后再进入'}) else: orders_all = Orders.objects.all() orders_set = [] for key1 in orders_all: order_all = Order.objects.filter(order_id=key1.id) # 获取该总订单的所有单个订单 cur_user = get_object_or_404(User, id=order_all[0].user_id) if cur_user.username == username: order_object_list = [] prices = 0 for key in order_all: order_object = util.set_order_list(key) prices = order_object.price * order_object.count + prices order_object.set_prices(prices) order_object_list.append(order_object) orders_prices = order_object_list[-1].prices orders_object = util.set_orders_list(key1, orders_prices) orders_set.append({orders_object: order_object_list}) return render(request, 'view_all_order.html', { 'user': username, 'Orders_set': orders_set })
def view_all_order(request): util = Util() username = util.check_user(request) if username == "": uf = LoginForm() return render(request, "index.html", {'uf': uf, "error": "请登录后再进入"}) else: #获得所有总订单信息 orders_all = Orders.objects.filter(id__gt="0") #orders_all = Orders.objects.all() #初始化列表,给模板 Reust_Order_list = [] #遍历总订单 for key1 in orders_all: #通过当前订单编号获取这个订单的单个订单详细信息 order_all = Order.objects.filter(order_id=key1.id) #检查这个订单是不是属于当前用户的 user = get_object_or_404(User, id=order_all[0].user_id) #如果属于将其放入总订单列表中 if user.username == username: #初始化总订单列表 Orders_object_list = [] #初始化总订单类 orders_object = Orders_list #产生一个Orders_lis对象 orders_object = util.set_orders_list(key1) #初始化总价钱为0 prices = 0 #遍历这个订单 for key in order_all: #初始化订单类 order_object = Order_list #产生一个Order_lis对象 order_object = util.set_order_list(key) #将产生的order_object类加入到总订单列表中 Orders_object_list.append(order_object) #计算总价格 prices = order_object.price * key.count + prices #把总价格放入到order_object类中 order_object.set_prices(prices) #把当前记录加到Reust_Order_list列中 #从这里可以看出,Reust_Order_list每一项是一个字典类型,key为总订单类orders_object,value为总订单列表Orders_object_list #总订单列表Orders_object_list中每一项为一个单独订单对象order_object,即Reust_Order_list=[{orders_object类:[order_object类,...]},...] Reust_Order_list.append({orders_object: Orders_object_list}) return render(request, 'view_all_order.html', { "user": username, 'Orders_set': Reust_Order_list })