【发布时间】:2021-09-17 10:28:57
【问题描述】:
我正在尝试在main_storage 表中添加数据,但是当我保存记录时它显示错误
failed unsupported operand type(s) for +: 'DeferredAttribute' and 'int'
在Main_StorageproductId是外键我想根据外键添加数据但是显示错误
try:
data = self.request.POST.get
orderView = GatePass(
fault=data('fault'),
remarks=data('remarks'),
order_id=order_Id
)
dbItem = Order.objects.get(id=order_Id)
items = dbItem.orderProduct.quantity
order_request = OrderRequest.objects.get(pk=orderId)
faultItem = orderView.fault
if int(faultItem) >= items:
return HttpResponse('error')
else:
order_request.order.orderProduct.quantity -= int(faultItem)
Main_Storage.objects.filter(
product_id=productId
).update(
quantity=F('quantity') + order_request.order.orderProduct.quantity
)
order_request.order.orderProduct.quantity = int(faultItem)
order_request.order.orderProduct.save()
orderView.save()
【问题讨论】:
-
Main_Storage.quantity没有多大意义,因为那不是 object 而是Main_Storage模型。 -
我知道,但我不知道如何添加数据,因为我已经有大量数据了。
-
您是否试图将新对象的数量设为表中所有对象的数量加上订单请求的数量之和?
-
@MuhammadUsman:我们确定该产品 ID 已经存在
Main_Storage吗? -
我想在 main_storage,quantity 中求和 order_request.order.orderProduct.quantity 的值而不创建新字段
标签: python django django-models django-rest-framework django-views