Python Django库存更新功能
我是新来的Django,我正在做一个小项目,我有两个模型和库存。对于项目模型,我有一个表单,用户可以在其中选择产品并选择他/她想要购买的数量。如果客户选择产品1和数量30,我希望函数从库存模型中的产品1减去30。如何在views.py中实现这一点,我认为我的views.py是不正确的 models.pyPython Django库存更新功能,python,django,django-views,Python,Django,Django Views,我是新来的Django,我正在做一个小项目,我有两个模型和库存。对于项目模型,我有一个表单,用户可以在其中选择产品并选择他/她想要购买的数量。如果客户选择产品1和数量30,我希望函数从库存模型中的产品1减去30。如何在views.py中实现这一点,我认为我的views.py是不正确的 models.py class Item(models.Model): product_choices = (('product1', 'product1'),('product2','product2')
class Item(models.Model):
product_choices = (('product1', 'product1'),('product2','product2'),)
product = models.CharField(max_length = 100, choices = product_choices)
quantity_choices = (('30','30'),('60','60'),)
quantity = models.CharField(max_length = 100, choices = quantity_choices)
class Stock(models.Model):
product1 = models.IntegerField(default='0', blank=True, null=True)
product2 = models.IntegerField(default='0', blank=True, null=True)
views.py
def checkout(request):
item = Item.objects.all()
stock = Stock.objects.all()
form = ItemForm(request.POST or None)
if request.method == 'POST':
if item.product == 'product1' and item.quantity =='30':
stock.product1 = stock.product1 - 30
elif:
if item.product == 'product1' and item.quantity =='60':
stock.product1 = stock.product1 - 60
else:
return None
这是你的密码
if request.method == 'POST':
item = Item.objects
if item.filter(product = 'product1', quantity = 30):
stockval = Stock.objects.values('product1')
Stock.objects.update(product1 = stockval[0]['product1']-30)
elif item.filter(product = 'product1', quantity = 60):
stockval = Stock.objects.values('product1')
Stock.objects.update(product1=stockval[0]['product1'] - 60)
else:
return None
你可以用过滤函数来代替if条件。请告诉我。嘿,我想你的代码有点问题,如果我选择60,它会扣除30。将quantity值更改为Integer,您的意思是将quantity=models.CharField(max_length=100,choices=quantity_choices)更改为quantity=models.IntegerField(max_length=100,choices=quantity_choices)quantity_choices=(‘30’,‘60’,)更改为quantity_choices=((30,30),‘60,60),)有效!!谢谢!