backend/apps/transfer/api/serializer.py
from rest_framework import serializersfrom apps.transfer.models import TransferBatch, TransferFile class TransferFileSerializer(serializers.ModelSerializer): fromPath = serializers.CharField() toPath = serializers.CharField() class Meta: model = TransferFile fields = ('id', 'fromPath', 'toPath', 'status') class TransferBatchSerializer(serializers.ModelSerializer): files = TransferFileSerializer(many=True) user = serializers.HiddenField(default=serializers.CurrentUserDefault()) class Meta: model = TransferBatch fields = ('id', 'user', 'dateInitiated', 'files') def create(self, validated_data): files_data = validated_data.pop('files') batch = TransferBatch.objects.create(**validated_data) for file_data in files_data: fileObject = TransferFile.objects.create(batch=batch, **file_data) return batch