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 QuestionSerializer(serializers.ModelSerializer):
[文档]
class SurveySerializer(serializers.ModelSerializer):
creator = serializers.HiddenField(default=serializers.CurrentUserDefault())
[文档]
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 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