我有这个错误,你能帮帮我吗?您需要从“Articulo”模型的“Pedido” - “stock”模型中减去“数量”值,然后保存库存结果。
排队:articulo.stock - = pedido.cantidad
def Update_stock(request, id_pedido, cod_experto):
if request.method == 'GET':
pedido = Pedido.objects.get(id=id_pedido)
articulo = Articulo.objects.get(pk=cod_experto)
articulo.stock -= pedido.cantidad
articulo.save()
return render(request, 'admindata.html', {'pedido':pedido, 'articulo':articulo})
models.py:
class Pedido(models.Model):
articulo = models.ForeignKey('Articulo')
fecha_pedido = models.DateTimeField(auto_now_add=True,null=True, blank=True)
cantidad = models.IntegerField(blank=True)
def __str__(self):
return '{}'.format(self.especialidad, self.articulo, self.cantidad, self.estado)
class Articulo(models.Model):
cod_experto = models.CharField(max_length=999, primary_key=True, blank=True)
nombre = models.CharField(max_length=999, blank=True)
on_delete=models.CASCADE)
stock = models.CharField(max_length=999, blank=True)
答案 0 :(得分:1)
错误消息表示无意中为articulo.stock
分配了 str 而不是数字。
在模型中, stock 被定义为CharField
。可能它应该是某种数字类型,例如IntegerField()
。