20 lines
606 B
Python
20 lines
606 B
Python
from django.conf import settings
|
|
from rest_framework import serializers
|
|
from django.db.models import DecimalField
|
|
from django.core.validators import MinValueValidator
|
|
from django.utils.functional import cached_property
|
|
from decimal import Decimal
|
|
|
|
|
|
class MyFilePathField(serializers.CharField):
|
|
|
|
def to_representation(self, value):
|
|
if 'http' in value:
|
|
return str(value)
|
|
return settings.BASE_URL + str(value)
|
|
|
|
class PositiveDecimalField(DecimalField):
|
|
|
|
@cached_property
|
|
def validators(self):
|
|
return [MinValueValidator(Decimal('0.0'))] + super().validators |