def calc_total_qty():
for item in Items.objects.annotate(itemdetails_count=Count('itemdetails')):
item.total_qty = item.itemdetails_count
item.save(update_fields=['total_qty'])
#this is where items are added.modelmo,description,quantity should be calculated after item_details_save
def add_items_save(request):
if request.method == "POST":
model_no = request.POST.get("model_no")
description = request.POST.get("description")
#total_qty = request.POST.get("total_qty"),total_qty=total_qty
Items_model = Items(model_no=model_no,description=description)
Items_model.save()
return redirect('add_items')
else:
return redirect('add_items')
#this is where item details are added like modelno,serialno,department,empname
def add_items_details_save(request):
items=Items.objects.all()
if request.method == "POST":
serial_no = request.POST.get("serial_no")
model_no_id = request.POST.get("model_no")
model_no=Items.objects.get(id=model_no_id)
name_id = request.POST.get("issued_to")
issued_to= Prosecutions.objects.get(id=name_id)
employee_name=request.POST.get("employee_name")
ItemDetails_model = ItemDetails(serial_no=serial_no, model_no=model_no,issued_to=issued_to,employee_name=employee_name)
ItemDetails_model.save()
calc_total_qty()
return redirect('add_items_details')
else:
return redirect('add_items_details')
def edit_item_details_delete(request,id):
itemdetails = ItemDetails.objects.get(id=id)
itemdetails.delete()
calc_total_qty()
return redirect('edit_item_details')