Newer
Older
from common.serializers import CurrentUserProfileDefault
from . import models
class TaskSerializer(serializers.ModelSerializer):
created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
read_only_fields = ('created_by', 'created_at', 'updated_at')
def validate(self, data):
if timezone.now() >= data['deadline']:
raise serializers.ValidationError('Please, enter appropriate deadline.')
return data
created_at = serializers.DateTimeField(read_only=True)
updated_at = serializers.DateTimeField(read_only=True)
created_by = serializers.HiddenField(default=CurrentUserProfileDefault())
read_only_fields = ('created_by', 'created_at', 'updated_at', 'ready')
fields = (
'task',
'created_at',
'updated_at',
'accepted',
'files',
'created_by',
'corrected',
'note',
)
def validate(self, data):
if timezone.now() > data['task'].deadline:
raise serializers.ValidationError('You late.')
return data
def create(self, validated_data):
validated_data['accepted'] = False
validated_data['corrected'] = False
validated_data['note'] = ''
return self.Meta.model.objects.create(**validated_data)