from rest_framework import serializers from . import models class TaskSerializer(serializers.ModelSerializer): class Meta: model = models.Task read_only_fields = ('created_by', 'date') extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} fields = '__all__' class SolutionSerializer(serializers.ModelSerializer): class Meta: model = models.Solution read_only_fields = ('created_by', 'date' 'ready') extra_kwargs = {'created_by': {'default': serializers.CurrentUserDefault()}} fields = ('task', 'date', 'accepted', 'files', 'created_by') def validate(self, attrs): task = attrs['task'] date = attrs['date'] if task.deadline < date: raise serializers.ValidationError("You cannot submit homework after the deadline") return attrs