你好,我想创建一个虚拟支付system.All的功能正常工作,但当not我购买的东西,我的余额没有更新。
这是我的views.py:
def post(self, request, *args, **kwargs):
ids = list(request.session.get('cart').keys())
cart_products = Product.get_products_id(ids)
product_prices = list(map(self.map_func, cart_products))
total_due = sum(product_prices)
balance = request.session['customer']['coin']
if balance >= total_due:
balance = balance - total_due
Customer.objects.filter(id = request.session['customer']['id']).update(coin=balance)
request.session['customer']['coin'] = balance
return HttpResponse(balance)
return HttpResponse("Failed")这是我的索引:
{% extends 'Home/header.html' %}
{% load cart %}
{% block content %}
{{user_orders.product.name}}
{{user_orders.product.price}}
{{total_due}}
<h5>{{request.session.customer.coin}}</h5>
<form action="" method="POST">
{% csrf_token %}
<input type="submit" name="payment_coin">
</form>
{% endblock %}我实际上想要的是,当一个购买的帐户余额将自动更新。
发布于 2020-11-29 01:21:28
我相信update只在查询集上使用。如果我没记错的话,你一次只需要获取一个对象。看看这是否起作用。
而不是这样:
Customer.objects.filter(id = request.session['customer']['id']).update(coin=balance)试试这个:
customer = Customer.objects.get(id = request.session['customer']['id'])
customer.coin = balance
customer.save()https://stackoverflow.com/questions/65051899
复制相似问题