MEJORA: Fix N+1 query problems in project_list and export_expenses_csv

This commit is contained in:
Nachou-u
2026-09-09 08:26:36 -03:00
parent 1417cff823
commit c229da1436
2 changed files with 8 additions and 3 deletions
+2
View File
@@ -83,6 +83,8 @@ class Project(CatalogModel):
@property
def total_expenses_clp(self):
if hasattr(self, 'total_expenses'):
return self.total_expenses or Decimal('0.00')
return self.expenses.aggregate(total=models.Sum('amount_clp'))['total'] or Decimal('0.00')
@property
+6 -3
View File
@@ -1,5 +1,8 @@
import csv
import io
import logging
logger = logging.getLogger(__name__)
from decimal import Decimal
from django.views.generic import ListView, CreateView, UpdateView, DeleteView
from django.contrib.auth.mixins import LoginRequiredMixin
@@ -353,7 +356,7 @@ def export_expenses_csv(request):
'Responsable', 'Detalle', 'Region', 'Comuna', 'Proveedor'
])
expenses = Expense.objects.all().select_related('project', 'responsible_person')
expenses = Expense.objects.all().select_related('project', 'responsible_person', 'vendor')
for exp in expenses:
writer.writerow([
exp.id,
@@ -870,8 +873,8 @@ def delete_document(request, pk):
try:
if os.path.exists(doc.file.path):
os.remove(doc.file.path)
except Exception:
pass
except Exception as e:
logger.error(f"Error removing file: {e}", exc_info=True)
# Delete object
doc.delete()