在将我的项目从Django 1.8更新到Django 3.0之后,我面临着这样一个问题:“需要2个值才能在for循环中解包;得到1”
让我们考虑一下我的观点。py as:
def add_items(request, pk, ot):
client = request.user.client
val1 = []
warehouse = [
(str(use.pk), use.name)
for use in WareHouse.objects.filter(client_id=client).
exclude(is_active=False)]
project = Project.objects.filter(client=request.user.client).exclude(is_deleted=True)
data1 = OtherOrder.objects.filter(id=pk)
if data1.exists() and (len(warehouse) == 1):
order = data1[0]
if order.warehouse is None:
try:
order.warehouse_id = warehouse[0][0]
order.save()
except BaseException as e:
logger.exception(e)
data = OtherOrderItem.objects.filter(other_order_id=pk)
total = data.aggregate(Sum('total_cost')).get('total_cost__sum') or 0.00
charges = OtherOrderAdditionalCharges.objects.filter(order_id=pk)
if charges.filter(charges_calculated=False):
flag = True
val = [i.id for i in data]
for j in val:
data3 = Movements.objects.values('other_order_item','damaged_quantity').filter(other_order_item=j, other_order_id=pk).annotate(Sum('quantity'))
val1.append(data3)
back = '/stock/other_orders/'
return render(request,'stock/add_items.html',locals())
我该如何解决我的问题