add: add new field for list api

This commit is contained in:
behruz-dev
2025-10-01 13:40:23 +05:00
parent 653e9d0230
commit 9be6825a19
4 changed files with 22 additions and 4 deletions

View File

@@ -9,6 +9,14 @@ from core.apps.finance.serializers.payment_type import PaymentTypeSerializer
from core.apps.projects.models import Project 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 CashTransactionEmployeeListSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = User model = User
@@ -20,13 +28,14 @@ class CashTransactionEmployeeListSerializer(serializers.ModelSerializer):
class CashTransactionListSerializer(serializers.ModelSerializer): class CashTransactionListSerializer(serializers.ModelSerializer):
payment_type = PaymentTypeSerializer(many=True) payment_type = PaymentTypeSerializer(many=True)
employees = CashTransactionEmployeeListSerializer(many=True) employees = CashTransactionEmployeeListSerializer(many=True)
projects = ProjectSerializer(many=True)
class Meta: class Meta:
model = CashTransaction model = CashTransaction
fields = [ fields = [
'id', 'name', 'payment_type', 'employees', 'status', 'total_balance_usd', 'id', 'name', 'payment_type', 'employees', 'status', 'total_balance_usd',
'income_balance_usd', 'expence_balance_usd', 'total_balance_uzs', 'income_balance_usd', 'expence_balance_usd', 'total_balance_uzs',
'income_balance_uzs', 'expence_balance_uzs' 'income_balance_uzs', 'expence_balance_uzs', 'projects'
] ]

View File

@@ -14,7 +14,7 @@ class CashTransactionListApiView(generics.ListAPIView):
permission_classes = [HasRolePermission] permission_classes = [HasRolePermission]
required_permissions = [] required_permissions = []
serializer_class = serializers.CashTransactionListSerializer serializer_class = serializers.CashTransactionListSerializer
queryset = CashTransaction.objects.prefetch_related('employees', 'payment_type') queryset = CashTransaction.objects.prefetch_related('employees', 'payment_type', 'projects')
pagination_class = CustomPageNumberPagination pagination_class = CustomPageNumberPagination

View File

@@ -8,13 +8,22 @@ from core.apps.accounts.serializers.user import UserListSerializer
from core.apps.projects.models.project import Project 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): class WhereHouseListSerializer(serializers.ModelSerializer):
users = UserListSerializer(many=True) users = UserListSerializer(many=True)
projects = ProjectSerializer(many=True)
class Meta: class Meta:
model = WhereHouse model = WhereHouse
fields = [ fields = [
'id', 'name', 'address', 'users' 'id', 'name', 'address', 'users', 'projects'
] ]

View File

@@ -10,7 +10,7 @@ from core.apps.accounts.permissions.permissions import HasRolePermission
class WhereHouseListApiView(generics.GenericAPIView): class WhereHouseListApiView(generics.GenericAPIView):
serializer_class = serializers.WhereHouseListSerializer serializer_class = serializers.WhereHouseListSerializer
queryset = WhereHouse.objects.prefetch_related('users') queryset = WhereHouse.objects.prefetch_related('users', 'projects')
permission_classes = [HasRolePermission] permission_classes = [HasRolePermission]
def get(self, request): def get(self, request):