logs-collector/logs_collector/collector/serializers.py
2023-08-08 14:42:57 +09:00

25 lines
751 B
Python

from rest_framework import serializers
from .models import Archive, Ticket
class ArchiveUploadSerializer(serializers.ModelSerializer):
ticket_number = serializers.ReadOnlyField(source='ticket.number')
class Meta:
model = Archive
fields = ['file', 'ticket', 'ticket_number']
def to_internal_value(self, data):
try:
ticket = Ticket.objects.get(number=data['ticket'])
data['ticket'] = ticket.id
return super().to_internal_value(data)
except Exception:
return super().to_internal_value(data)
def to_representation(self, instance):
data = super().to_representation(instance)
data['ticket'] = data.pop('ticket_number')
return data