Files
ibapp-backend/core/apps/counterparty/serializers/counterparty_folder.py
2025-09-03 17:13:50 +05:00

28 lines
811 B
Python

from django.db import transaction
from rest_framework import serializers
from core.apps.counterparty.models import CounterpartyFolder
class CounterpartyFolderListSerializer(serializers.ModelSerializer):
counterparty_count = serializers.SerializerMethodField(method_name='get_counterparty_count')
class Meta:
model = CounterpartyFolder
fields = [
'id', 'name', 'counterparty_count'
]
def get_counterparty_count(self, obj):
return obj.counterparties.count()
class CounterpartyFolderCreateSerializer(serializers.Serializer):
name = serializers.CharField()
def create(self, validated_data):
with transaction.atomic():
return CounterpartyFolder.objects.create(
name=validated_data.get('name'),
)