Newer
Older
from rest_framework import serializers
from common.serializers import CurrentUserProfileDefault
from . import models
class DocumentSerializer(serializers.ModelSerializer):
uploaded_by = serializers.HiddenField(default=CurrentUserProfileDefault())
uploaded_by_name = serializers.SerializerMethodField()
class Meta:
model = models.Document
]
read_only_fields = [
'uploaded_by',
'uploaded_at',
'file_url',
'uploaded_by_name',
]
extra_kwargs = {
'file': {'write_only': True},
}
def to_representation(self, instance):
data = super().to_representation(instance)
def get_uploaded_by_name(self, obj):
return obj.uploaded_by.full_name
return f"/api/v1/documents/{obj.id}/download/"
profile = self.context['request'].user.profile
raise serializers.ValidationError('You dont have permission!')
count = models.Document.objects.filter(
uploaded_by=profile, solution=value).count()
f'You cant upload more than {_max_count} document to one solution!')