1234567891011121314151617181920212223242526272829303132 |
- # coding=utf-8
- from rest_framework import serializers
- from .models import ExamPaper
- from utils.exceptions import CustomError
- class ExamPaperSerializer(serializers.ModelSerializer):
- subject_name = serializers.CharField(source='subject.name', read_only=True)
- class Meta:
- model = ExamPaper
- fields = "__all__"
- def validate(self, attrs):
- if 'subject' in attrs and attrs['subject'].delete:
- raise CustomError(u'科目[%s]已被删除!' % attrs['subject'].name)
- return attrs
- def create(self, validated_data):
- validated_data['create_user'] = self.context['request'].user
- instance = super(ExamPaperSerializer, self).create(validated_data)
- instance.update_count()
- instance.save()
- return instance
- def update(self, instance, validated_data):
- if instance.delete:
- raise CustomError(u'试卷[%s]已经被删除,禁止操作' % instance.name)
- instance = super(ExamPaperSerializer, self).update(instance, validated_data)
- instance.update_count()
- instance.save()
- return instance
|