从数据库烧瓶中检索数量

时间:2020-07-06 22:34:49

标签: python flask stripe-payments

我正在尝试创建条带检出,但是当我尝试从数据库中获取金额或将数据存储在会话中时,检出并不会重定向到条带检出页面。

    results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
    total = sum([cart.amount for cart in results])

但是,如果我将total替换为integer,它将起作用。该查询非常准确。怎么了?

@posts.route('/checkout')
def checkout():
    results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
    total = sum([cart.amount for cart in results])
    
    session = stripe.checkout.Session.create(
        payment_method_types=['card'],
        line_items=[{
          'price_data': {
            'currency': 'usd',
            'product_data': {
            'name': 'T-shirt',
            },
            'unit_amount':  total,
          },

            #'price': 'price_1GznR1BlIKnRHDeI80wgnj0A',
            'quantity': 1,
        }],
        mode='payment',
        success_url=url_for('posts.processing', _external=True) + '?session_id={CHECKOUT_SESSION_ID}',
        cancel_url=url_for('posts.viewcart', _external=True),
    )

enter image description here

2 个答案:

答案 0 :(得分:1)

我宣布会议为全球会议。我确保金额是整数

@posts.route('/checkout')
def checkout():
    global session
    results=Cart.query.filter_by(username = current_user.username, session_id = session['coded'])
    #results=Cart.query.filter_by(username = current_user.username, session_id = session['coded']).all()
    total = int(sum([cart.amount for cart in results]))

    print(results)
    session = stripe.checkout.Session.create(
        payment_method_types=['card'],
        line_items=[{
          'price_data': {
            'currency': 'usd',
            'product_data': {
            'name': 'T-shirt',
            },
            'unit_amount':  total,
          },

            #'price': 'price_1GznR1BlIKnRHDeI80wgnj0A',
            'quantity': 1,
        }],
        mode='payment',
        success_url=url_for('posts.processing', _external=True) + '?session_id={CHECKOUT_SESSION_ID}',
        cancel_url=url_for('posts.viewcart', _external=True),
    )

    return jsonify(checkout_session_id=session['id'], checkout_public_key=current_app.config['STRIPE_PUBLIC_KEY'])


答案 1 :(得分:0)

您需要执行查询:

    results=Cart.query.filter_by(username = current_user.username, session_id = session['coded']).all()
相关问题