12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- # coding=utf-8
- from rest_framework import serializers
- from .models import Subject, Chapter
- from utils.exceptions import CustomError
- class SubjectSerializer(serializers.ModelSerializer):
- class Meta:
- model = Subject
- fields = "__all__"
- def create(self, validated_data):
- instance = super(SubjectSerializer, self).create(validated_data)
- return instance
- def update(self, instance, validated_data):
- instance = super(SubjectSerializer, self).update(instance, validated_data)
- return instance
- class ChapterSerializer(serializers.ModelSerializer):
- subject_name = serializers.CharField(source='subject.name', read_only=True)
- class Meta:
- model = Chapter
- 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):
- instance = super(ChapterSerializer, self).create(validated_data)
- return instance
- def update(self, instance, validated_data):
- instance = super(ChapterSerializer, self).update(instance, validated_data)
- return instance
- class SubjectSimpleSerializer(serializers.ModelSerializer):
- class Meta:
- model = Subject
- fields = ['id', 'name', ]
- class ChapterSimpleSerializer(serializers.ModelSerializer):
- class Meta:
- model = Chapter
- fields = ['id', 'name', ]
|