SIte_Shag/obr_site/serializers.py

34 lines
1.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from rest_framework import serializers
from .models import CareerTestResult
class CareerTestSubmitSerializer(serializers.Serializer):
"""Сериализатор для приёма ответов на тест"""
answers = serializers.JSONField()
ym_client_id = serializers.CharField(
required=False,
allow_null=True,
allow_blank=True,
max_length=64
)
def validate_answers(self, value):
# Проверка: должны быть ответы на q1-q24
required_keys = {f'q{i}' for i in range(1, 25)}
if not required_keys.issubset(value.keys()):
raise serializers.ValidationError("Не все вопросы заполнены")
return value
class CareerTestResultSerializer(serializers.ModelSerializer):
profile_display = serializers.CharField(source='get_profile_display', read_only=True)
class Meta:
model = CareerTestResult
fields = [
'id',
'profile',
'profile_display',
'top3_profiles',
'recommended_ege_sets',
'created_at',
]