From 9be6825a191eceb03db190ad02ed269b5feb7329 Mon Sep 17 00:00:00 2001 From: behruz-dev Date: Wed, 1 Oct 2025 13:40:23 +0500 Subject: [PATCH] add: add new field for list api --- core/apps/finance/serializers/cash_transaction.py | 11 ++++++++++- core/apps/finance/views/cash_transaction.py | 2 +- core/apps/wherehouse/serializers/wherehouse.py | 11 ++++++++++- core/apps/wherehouse/views/wherehouse.py | 2 +- 4 files changed, 22 insertions(+), 4 deletions(-) diff --git a/core/apps/finance/serializers/cash_transaction.py b/core/apps/finance/serializers/cash_transaction.py index 09aa831..b36f899 100644 --- a/core/apps/finance/serializers/cash_transaction.py +++ b/core/apps/finance/serializers/cash_transaction.py @@ -9,6 +9,14 @@ from core.apps.finance.serializers.payment_type import PaymentTypeSerializer from core.apps.projects.models import Project +class ProjectSerializer(serializers.ModelSerializer): + class Meta: + model = Project + fields = [ + 'id', 'name', 'start_date', 'end_data', 'status' + ] + + class CashTransactionEmployeeListSerializer(serializers.ModelSerializer): class Meta: model = User @@ -20,13 +28,14 @@ class CashTransactionEmployeeListSerializer(serializers.ModelSerializer): class CashTransactionListSerializer(serializers.ModelSerializer): payment_type = PaymentTypeSerializer(many=True) employees = CashTransactionEmployeeListSerializer(many=True) + projects = ProjectSerializer(many=True) class Meta: model = CashTransaction fields = [ 'id', 'name', 'payment_type', 'employees', 'status', 'total_balance_usd', 'income_balance_usd', 'expence_balance_usd', 'total_balance_uzs', - 'income_balance_uzs', 'expence_balance_uzs' + 'income_balance_uzs', 'expence_balance_uzs', 'projects' ] diff --git a/core/apps/finance/views/cash_transaction.py b/core/apps/finance/views/cash_transaction.py index bf86ea1..2100bbc 100644 --- a/core/apps/finance/views/cash_transaction.py +++ b/core/apps/finance/views/cash_transaction.py @@ -14,7 +14,7 @@ class CashTransactionListApiView(generics.ListAPIView): permission_classes = [HasRolePermission] required_permissions = [] serializer_class = serializers.CashTransactionListSerializer - queryset = CashTransaction.objects.prefetch_related('employees', 'payment_type') + queryset = CashTransaction.objects.prefetch_related('employees', 'payment_type', 'projects') pagination_class = CustomPageNumberPagination diff --git a/core/apps/wherehouse/serializers/wherehouse.py b/core/apps/wherehouse/serializers/wherehouse.py index b62665b..cfdc023 100644 --- a/core/apps/wherehouse/serializers/wherehouse.py +++ b/core/apps/wherehouse/serializers/wherehouse.py @@ -8,13 +8,22 @@ from core.apps.accounts.serializers.user import UserListSerializer from core.apps.projects.models.project import Project +class ProjectSerializer(serializers.ModelSerializer): + class Meta: + model = Project + fields = [ + 'id', 'name', 'start_date', 'end_data', 'status' + ] + + class WhereHouseListSerializer(serializers.ModelSerializer): users = UserListSerializer(many=True) + projects = ProjectSerializer(many=True) class Meta: model = WhereHouse fields = [ - 'id', 'name', 'address', 'users' + 'id', 'name', 'address', 'users', 'projects' ] diff --git a/core/apps/wherehouse/views/wherehouse.py b/core/apps/wherehouse/views/wherehouse.py index 59fc174..7671fa8 100644 --- a/core/apps/wherehouse/views/wherehouse.py +++ b/core/apps/wherehouse/views/wherehouse.py @@ -10,7 +10,7 @@ from core.apps.accounts.permissions.permissions import HasRolePermission class WhereHouseListApiView(generics.GenericAPIView): serializer_class = serializers.WhereHouseListSerializer - queryset = WhereHouse.objects.prefetch_related('users') + queryset = WhereHouse.objects.prefetch_related('users', 'projects') permission_classes = [HasRolePermission] def get(self, request):