Modified: serializer for new Archive model

This commit is contained in:
Stepan Zhukovsky 2023-08-08 16:25:12 +09:00
parent 3cd2e6a1f0
commit 984563ad58
2 changed files with 3 additions and 17 deletions

View File

@ -1,24 +1,10 @@
from rest_framework import serializers from rest_framework import serializers
from .models import Archive, Ticket from .models import Archive
class ArchiveUploadSerializer(serializers.ModelSerializer): class ArchiveUploadSerializer(serializers.ModelSerializer):
ticket_number = serializers.ReadOnlyField(source='ticket.number')
class Meta: class Meta:
model = Archive model = Archive
fields = ['file', 'ticket', 'ticket_number'] fields = ['file', 'ticket']
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

View File

@ -9,6 +9,7 @@ app_name = 'collector'
router = routers.DefaultRouter() router = routers.DefaultRouter()
router.register(r'archives', views.ArchiveUploadViewSet) router.register(r'archives', views.ArchiveUploadViewSet)
urlpatterns = [ urlpatterns = [
# █░█░█ █▀▀ █▄▄ # █░█░█ █▀▀ █▄▄
@ -71,7 +72,6 @@ urlpatterns = [
name='ajax_delete_ticket' name='ajax_delete_ticket'
), ),
# ▄▀█ █▀█ █ # ▄▀█ █▀█ █
# █▀█ █▀▀ █ # █▀█ █▀▀ █
# -- -- -- # -- -- --