Skip to content
Snippets Groups Projects
serializers.py 877 B
Newer Older
Bodor Máté's avatar
Bodor Máté committed
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__'
Bodor Máté's avatar
Bodor Máté committed


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