Python 如何在Django中更新数据库中的值?
我正在使用Python和Django创建一个项目,在这个项目中,我跟踪我商店中的所有产品,一旦我销售了一个特定的产品,我需要更新该产品剩余的单元数 这是我的Models.py文件Python 如何在Django中更新数据库中的值?,python,html,django,Python,Html,Django,我正在使用Python和Django创建一个项目,在这个项目中,我跟踪我商店中的所有产品,一旦我销售了一个特定的产品,我需要更新该产品剩余的单元数 这是我的Models.py文件 from django.db import models class Product(models.Model): prod_name=models.CharField(max_length=100, blank=False) company=models.CharField(max_length=
from django.db import models
class Product(models.Model):
prod_name=models.CharField(max_length=100, blank=False)
company=models.CharField(max_length=100, blank=False)
quantity=models.IntegerField()
price=models.IntegerField()
prod_type=models.CharField(max_length=100)
units=models.IntegerField()
def __str__(self):
return('Name:{0} Company: {1} Qty:{2} Price: {3} Type:{4} Units: {5}'.format(self.prod_name, self.company,self.quantity, self.price, self.prod_type, self.units))
这是我的views.py文件
from django.shortcuts import render, redirect, get_object_or_404
from .models import *
from .forms import *
def index(request):
return render(request, 'index.html')
def display_product(request):
items=Product.objects.all()
context={
'items':items
}
return render(request, 'index.html', context)
def add_product(request):
if request.method == "POST":
form = ProductForm(request.POST)
if form.is_valid():
form.save()
return redirect('index')
else:
form =ProductForm(request.POST)
return render(request, 'add_new.html', {'form':form})
def edit_product(request, pk):
item = get_object_or_404(Product, pk=pk)
if request.method == 'POST':
form = ProductForm(request.POST, instance=item)
if form.is_valid():
form.save()
return redirect('index')
else:
form = ProductForm(instance=item)
return render(request, 'edit_product.html', {'form':form})
def sell_product(request, pk):
item = get_object_or_404(Product, pk=pk)
if request.method == 'POST':
form = ProductForm(request.POST, instance=item)
if form.is_valid():
form.save()
return redirect('index')
else:
form = ProductForm(instance=item)
return render(request, 'sell_product.html', {'form':form})
这是我的sell_product.html
{% extends 'base.html' %}
{% block body %}
<div class="container">
<form method="POST">
<br>
{% csrf_token %}
<div class ="form-form row">
<label for="UpdateSold">Units Sold</label>
<input type="Units Sold" class="form-control" id="UpdateSold" aria-describedby="emailHelp" placeholder="Units Sold">
</div>
</div>
<button type="submit" class="btn btn-primary" name="button">Update Product</button>
</form>
</div>
{% endblock %}
{%extends'base.html%}
{%block body%}
{%csrf_令牌%}
售出单位
更新产品
{%endblock%}
这里是前端的一个片段
我有25块奥利奥饼干,我卖了其中的3块,我在售出的单位中输入了3块,所以我希望奥利奥饼干的单位价值更新为22块问题出在哪里,或者你有什么问题?你试过什么?@TimmyO'Mahony如果我点击销售按钮,它会将我重定向到另一个页面,在那里我必须输入我销售的特定产品的单位数量,现在我提供的输入应该会改变我单位字段中的值,但是我如何链接我的sell_product.html文件中的输入框和我的单位字段……我已经弄乱了sell_product视图,它一直给我带来错误,但是我还没有在这里发布这段代码。你能帮忙吗?