Exemple #1
0
def addorder(request):
    info = request.params['data']

    # 从请求消息中 获取要添加订单信息
    # 并且插入到数据库
    # Django 实现数据库事务操作
    with transaction.atomic():
        new_order = Order.objects.create(name=info['name'], customer_id=info['customerid'])

        batch = [OrderMedicine(order_id=new_order.id, medicine_id=mid, amount=1)
                 for mid in info['medicineids']]
        OrderMedicine.objects.bulk_create(batch)

    return JsonResponse({'ret': 0, 'id': new_order.id})
def add_order(request):
    # 提取新增的数据
    data = request.params["data"]
    # 提取新增药品的列表
    medicine_list = data["medicineids"]
    # 订单表增加
    # 开启事务
    with transaction.atomic():
        # 订单表的新增
        new_order = Order.objects.create(name=data["name"],
                                         customer_id=data["customerid"])
        # 一个列表生成式,生成不同的《订单药品》的表
        all = [OrderMedicine(order_id=new_order.id, medicine_id=medicine_id, amount=1)
               for medicine_id in medicine_list]
        # bulk_create可以批量新增数据
        OrderMedicine.objects.bulk_create(all)
    return JsonResponse({"ret": 0, "id": new_order.id})
Exemple #3
0
def addorder(request):
    print("下单############################################################")
    info = request.params['data']
    name = info['name']
    customer_id = info['customerid']
    medicines = info['medicinelist']

    with transaction.atomic():
        neworder = Order.objects.create(name=name, custom_id=customer_id)
        bactch = list()
        for medicine in medicines:
            om = OrderMedicine(order_id=neworder.id,
                               medicine_id=medicine['id'],
                               amount=1)
            bactch.append(om)
        OrderMedicine.objects.bulk_create(bactch)

    return JsonResponse({'ret': 0, 'id': neworder.id, 'msg': '下单成功'})
Exemple #4
0
    def post(self,request):
        info = json.loads(request.body)
        data = info['data']
        with transaction.atomic():
            medicinelist  = data['medicinelist']

            new_order = Order.objects.create(name=data['name'],
                customer_id=data['customerid'],
                # 写入json格式的药品数据到 medicinelist 字段中
                medicinelist=json.dumps(medicinelist,ensure_ascii=False),)

            batch = [OrderMedicine(order_id=new_order.id,
                                   medicine_id=medicine['id'],
                                   amount=medicine['amount'])
                     for medicine in medicinelist]

            OrderMedicine.objects.bulk_create(batch)

        return JsonResponse({'ret': 0, 'id': new_order.id})
Exemple #5
0
def addorder(request):

    info = request.params['data']

    # 从请求消息中 获取要添加订单的信息
    # 并且插入到数据库中

    with transaction.atomic():
        medicinelist = info['medicinelist']
        print('medicinelist------->', medicinelist)

        new_order = Order.objects.create(name=info['name'],
                                         customer_id=info['customerid'],
                                         # 写入json格式的药品数据到medicinelist字段中
                                         medicinelist=json.dumps(medicinelist, ensure_ascii=False))

        batch = [OrderMedicine(medicine_id=medicine['id'], order_id=new_order.id, amount=medicine['amount']) for medicine in info['medicinelist']]
        OrderMedicine.objects.bulk_create(batch)

    return JsonResponse({'ret': 0, 'orderId': new_order.id})
def addorder(request):

    info  = request.params['data']

    # 从请求消息中 获取要添加订单的信息
    # 并且插入到数据库中

    #with transaction.atomic()这个就是事物操作
    with transaction.atomic():
    	#把一批数据库放到一个事物中,发现任何一个数据失败,所有操作回滚
        new_order = Order.objects.create(name=info['name'] ,
                                         customer_id=info['customerid'])
        #一个订单多个药品,代表插入多少条记录
        batch = [OrderMedicine(order_id=new_order.id,medicine_id=mid,amount=1)  
                    for mid in info['medicineids']]
        #sql语句,每次执行都是与数据库的交互
        OrderMedicine.objects.bulk_create(batch)


    return JsonResponse({'ret': 0,'id':new_order.id})
Exemple #7
0
def addorder(request):
    info = request.params['data']

    with transaction.atomic():
        medicinelist = info['medicinelist']

        new_order = Order.objects.create(
            name=info['name'],
            customer_id=info['customerid'],
            # Write medicine data in json format to the medicinelist field
            medicinelist=json.dumps(medicinelist, ensure_ascii=False),
        )

        batch = [
            OrderMedicine(order_id=new_order.id,
                          medicine_id=medicine['id'],
                          amount=medicine['amount'])
            for medicine in medicinelist
        ]

        OrderMedicine.objects.bulk_create(batch)

    return JsonResponse({'ret': 0, 'id': new_order.id})