Skip to content
Snippets Groups Projects
serializers.py 877 B
Newer Older
  • Learn to ignore specific revisions
  • 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