gpt4 book ai didi

python - 使用 Django 存款金额

转载 作者:行者123 更新时间:2023-12-01 06:24:59 25 4
gpt4 key购买 nike

模型.py

客户类(models.Model):

user = models.ForeignKey(User, on_delete=models.CASCADE)

contact = models.BigIntegerField(unique=True)

amount = models.BigIntegerField()

type = models.CharField(max_length=1)`

表单.py

类 Deposit_Form(forms.Form):

amount = forms.IntegerField(min_value=200, label="Enter amount u want to deposit")

查看.py

类Log_in(TemplateView):

template_name = 'login.html'

def get(self, request, *args, **kwargs):

Form = Login()

return render(request, self.template_name, {'form': Form})

def post(self, request):

username = self.request.POST.get('username').strip()

password = self.request.POST.get('password').strip()

if username is None or password is None:

return HttpResponse({'Doesnt exist'}, status=HTTP_400_BAD_REQUEST)

user = authenticate(username=username, password=password)

if not user:

return HttpResponse({'Invalid candidate '}, status=HTTP_404_NOT_FOUND)

return redirect('customer_menu')

def customer_menu(请求):

if "user_id" in request.session:

return render(request, 'customer_menu.html')

存款类(TemplateView):

template_name = 'deposit.html'

def get(self, request, *args, **kwargs):

Form = Deposit_Form()

return render(request, self.template_name, {'form': Form})

@staticmethod

def post(request):

if "user_id" in request.session:

data = request.POST.get

try:

deposit_amount=data('deposit_amount')

customer = CustomerModel(

amount = deposit_amount+amount
)
customer.save()

return HttpResponse('action performed successfully', 500)

except Exception as e:

return HttpResponse("failed : {}".format(e), 200)

现在我不明白如何存款金额,它在存款类后函数金额=存款金额+金额中显示错误

最佳答案

如果我正确理解您的问题,您希望增加客户模型上的金额字段。但首先您必须找到要更新的对象。而且您不能直接CustomerModel(amount=deposit_amount+amount)。 您可以使用 F() 函数来实现此目的。例如:CustomerModel.filter(pk=id).update(amount=F('amount')+deposite_amount)

您可以找到详细信息here有关 F() 函数的详细信息

编辑:另一种方法是,您可以使用 get() 方法找到您的 CustomerModel 对象并增加您的 amount 字段。之后,您可以保存您的对象。像这样:

customer = CustomerModel.objects.get(pk=id) #you can change query field
customer.amount = customer.amount + data('deposite_amount')
customer.save()

关于python - 使用 Django 存款金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60207477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com