Как я могу пополнить свой инвестиционный баланс с помощью django
С помощью приведенного ниже кода я пытаюсь добавить сумму к моему текущему балансу, но получаю ошибку объект "QuerySet" не имеет атрибута 'balance'
def create_investment_view(request):
if request.method == "POST":
form = InvestmentForm(request.POST)
if form.is_valid():
amount = form.cleaned_data['amount']
user_investment = Investment.objects.all()
user_investment = user_investment.balance + amount
else:
form = InvestmentForm()
context = {
'form':form,
}
return render (request, 'create-investment.html', context)
class Investment(models.Model):
balance = models.IntegerField()
class InvestmentForm(forms.Form):
amount = forms.IntegerField(widget=forms.TextInput(attrs={'required':True, 'max_length':80, 'class' : 'form-control', 'placeholder': ' 1,000,000'}), label=_("Amount to deposit (Ksh.)"), error_messages={ 'invalid': _("This value must contain only numbers.") })```
Сейчас вы пытаетесь добавить баланс ко всей строке запроса. Если есть только одна пользовательская инвестиция, то. Вы могли бы сделать
user_investment = Investment.objects.all()[0]
В противном случае вам нужно использовать .get() и вытащить user_investment, который вы ищете, возможно
user_investment = Investment.objects.get(user=user)