Почему я всегда получаю сообщение о недостаточности средств, даже если сумма, которую я снимаю, меньше моего баланса?
Я хотел показать пользователю сообщение "недостаточный баланс", когда сумма, которую он хочет снять, больше доступного баланса, но сообщение появляется даже тогда, когда сумма, которую он хочет снять, меньше. В чем именно здесь проблема?
def create_withdrawal_view(request):
if request.method == 'POST':
withdraw_form = InvestmentForm(request.POST)
if withdraw_form.is_valid():
investment = withdraw_form.save(commit=False)
if investment.amount > investment.balance:
messages.success(request, 'insufficient funds')
else:
investment.balance -= investment.amount
investment.save()
messages.success(request, 'your Withdrawal is successfull')
else:
withdraw_form = InvestmentForm()
context = {'withdraw_form': withdraw_form}
return render(request, 'create-withdrawal.html', context)
Полагаю, что здесь вы используете неверные данные:
def create_withdrawal_view(request):
if request.method == 'POST':
withdraw_form = WithdrawalForm(request.POST)
if withdraw_form.is_valid():
investment = withdraw_form.save(commit=False)
if investment.balance < withdraw_form.withdraw_amount:
messages.success(request, 'insufficient funds')
else:
investment.balance -= withdraw_amount.withdraw_amount
investment.save()
messages.success(request, 'investment successful')
else:
withdraw_form = WithdrawalForm()
context = {'withdraw_form': withdraw_form}
return render(request, 'create-withdrawal.html', context)
Вы должны подтвердить данные вашей формы withdraw_form.withdraw_amount
. не instance.balance
.