48 lines
1.2 KiB
Python
48 lines
1.2 KiB
Python
|
# Copyright (C) 2020 by Animath
|
||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||
|
|
||
|
from rest_framework import serializers
|
||
|
from rest_polymorphic.serializers import PolymorphicSerializer
|
||
|
|
||
|
from ..models import AdminRegistration, CoachRegistration, ParticipantRegistration, \
|
||
|
StudentRegistration, VolunteerRegistration
|
||
|
|
||
|
|
||
|
class AdminSerializer(serializers.ModelSerializer):
|
||
|
class Meta:
|
||
|
model = AdminRegistration
|
||
|
fields = '__all__'
|
||
|
|
||
|
|
||
|
class CoachSerializer(serializers.ModelSerializer):
|
||
|
class Meta:
|
||
|
model = CoachRegistration
|
||
|
fields = '__all__'
|
||
|
|
||
|
|
||
|
class ParticipantSerializer(serializers.ModelSerializer):
|
||
|
class Meta:
|
||
|
model = ParticipantRegistration
|
||
|
fields = '__all__'
|
||
|
|
||
|
|
||
|
class StudentSerializer(serializers.ModelSerializer):
|
||
|
class Meta:
|
||
|
model = StudentRegistration
|
||
|
fields = '__all__'
|
||
|
|
||
|
|
||
|
class VolunteerSerializer(serializers.ModelSerializer):
|
||
|
class Meta:
|
||
|
model = VolunteerRegistration
|
||
|
fields = '__all__'
|
||
|
|
||
|
|
||
|
class RegistrationSerializer(PolymorphicSerializer):
|
||
|
model_serializer_mapping = {
|
||
|
AdminRegistration: AdminSerializer,
|
||
|
CoachRegistration: CoachSerializer,
|
||
|
StudentRegistration: StudentSerializer,
|
||
|
VolunteerRegistration: VolunteerSerializer,
|
||
|
}
|