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 |