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', ]