class SettingReadSerializer(ModelSerializer): user = PrimaryKeyRelatedField(read_only=True, default=CurrentUserDefault()) setting = SettingDefinitionSerializer(read_only=True) setting_url = SerializerMethodField() get_setting_url = hyperlinked_field_method('setting', 'key', name='settings-definitions') class Meta: model = Setting fields = '__all__'
class SubjectSerializer(ModelSerializer): user = PrimaryKeyRelatedField(read_only=True, default=CurrentUserDefault()) user_url = SerializerMethodField() get_user_url = hyperlinked_field_method('user', 'id') class Meta: model = Subject fields = '__all__' def create(self, validated_data): validated_data['user'] = self.context['request'].user return Subject.objects.create(**validated_data)
class GradeReadSerializer(ModelSerializer): """ ReadSerializer for Grade objects with nested relation representations useful when GET'ing data. """ subject = SubjectSerializer(read_only=True) subject_url = SerializerMethodField() get_subject_url = hyperlinked_field_method('subject') class Meta: model = Grade fields = '__all__' lookup_field = 'uuid'
class LearndataReadSerializer(ModelSerializer): """ ReadSerializer for Learndata objects with nested relation representations useful when GET'ing data. """ subject = SubjectSerializer(read_only=True) notes = NoteReadSerializer(read_only=True, many=True) subject_url = SerializerMethodField() get_subject_url = hyperlinked_field_method('subject') class Meta: model = Learndata fields = '__all__'