def add_purchase(): buyer_id = request.json["buyer_id"] new_purchase = Purchase(buyer_id=buyer_id, status_id=1) # commit new_purchase to database to get purchase id db.session.add(new_purchase) db.session.commit() # This is placeholder code so we can test. # cart_items = request.json["cart_items"] # return jsonify({ # "purchase": { # "buyer_id": buyer_id, # "items": cart_items, # "test": cart_items[0]['qty'] # }, # "total": 1250 # }) cart_items = request.json["cart_items"] # add purchase_items to new_purchase for item in cart_items: new_p_item = P_Item(qty=item['qty'], product_id=item['product_id'], purchase_id=new_purchase.id) db.session.add(new_p_item) new_purchase.total = new_purchase.set_total() db.session.add(new_purchase) # commit both purchase item and purchase total to db. db.session.commit() # return purchase resp = purchase_schema.dump(new_purchase) return jsonify({'msg': 'Your purchase was received', 'purchase': resp})