in operation add current

This commit is contained in:
javad committed 2026-06-11 11:34:57 +03:30
1 parent 3b26ee3f93
commit 333f990170
2 files changed
+37 -13

No files matched your search

+27 -6
View File
@@ -599,8 +599,13 @@ def store(request, s_id):
def operations(request, s_id):
page = request.GET.get('page', 1)
productCategory = ProductCategory.objects.all()
storeO = StoreRoom.objects.get(id=s_id)
operationsList = ProductInStore.objects.filter(StoreRoom=storeO, year=1400).order_by('-createdDT')
storeO = get_object_or_404(StoreRoom, id=s_id)
# بهینه‌سازی کلیدی: استفاده از select_related برای جلوگیری از کندی و پر شدن RAM دیتابیس
operationsList = ProductInStore.objects.filter(
StoreRoom=storeO, year=1400
).select_related('Product').order_by('-createdDT')
paginator = Paginator(operationsList, 25)
try:
data_list = paginator.page(page)
@@ -609,16 +614,32 @@ def operations(request, s_id):
except EmptyPage:
data_list = paginator.page(paginator.num_pages)
data = {'storeO': storeO, 'operationsList': data_list, 's_id': s_id, 'productCategory': productCategory}
data = {
'storeO': storeO,
'operationsList': data_list,
's_id': s_id,
'productCategory': productCategory
}
return render(request, 'admin_panel/operations.html', data)
@login_required(login_url='/panel/p_login/')
@permission_required('admin_panel.ViewStore', raise_exception=True)
def operationProduct(request, s_id, p_id):
productCategory = ProductCategory.objects.all()
storeO = StoreRoom.objects.get(id=s_id)
operationsList = ProductInStore.objects.filter(StoreRoom=storeO, year=1400, Product__id=p_id).order_by('-createdDT')
data = {'storeO': storeO, 'operationsList': operationsList, 's_id': s_id, 'productCategory': productCategory}
storeO = get_object_or_404(StoreRoom, id=s_id)
# بهینه‌سازی کلیدی در فیلتر اختصاصی محصول
operationsList = ProductInStore.objects.filter(
StoreRoom=storeO, year=1400, Product__id=p_id
).select_related('Product').order_by('-createdDT')
data = {
'storeO': storeO,
'operationsList': operationsList,
's_id': s_id,
'productCategory': productCategory
}
return render(request, 'admin_panel/operations.html', data)
@login_required(login_url='/panel/p_login/')