questionnaire.serializers 源代码

from rest_framework import serializers

from questionnaire.models import Survey, Question, Choice, AnswerText, AnswerSheet

__all__ = [
    'ChoiceSerializer',
    'QuestionSerializer',
    'SurveySerializer',
    'AnswerSheetSerializer',
    'AnswerTextSerializer',
]


[文档] class ChoiceSerializer(serializers.ModelSerializer):
[文档] class Meta: model = Choice fields = '__all__'
[文档] class QuestionSerializer(serializers.ModelSerializer):
[文档] class Meta: model = Question fields = '__all__'
[文档] class SurveySerializer(serializers.ModelSerializer): creator = serializers.HiddenField(default=serializers.CurrentUserDefault())
[文档] class Meta: model = Survey fields = '__all__'
[文档] def validate(self, attrs): if attrs['start_time'] >= attrs['end_time']: raise serializers.ValidationError("起始时间不得晚于终止时间!") return attrs
[文档] class AnswerSheetSerializer(serializers.ModelSerializer): creator = serializers.HiddenField(default=serializers.CurrentUserDefault())
[文档] class Meta: model = AnswerSheet fields = '__all__'
[文档] class AnswerTextSerializer(serializers.ModelSerializer):
[文档] class Meta: model = AnswerText fields = '__all__'
[文档] def validate(self, attrs): if attrs['question'].survey != attrs['answersheet'].survey: raise serializers.ValidationError("问题与答卷不属于同一问卷!") return attrs