diff --git a/apps/utils/fields.py b/apps/utils/fields.py index f93a46d5..f29fb573 100644 --- a/apps/utils/fields.py +++ b/apps/utils/fields.py @@ -1,5 +1,9 @@ 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): @@ -8,3 +12,9 @@ class MyFilePathField(serializers.CharField): 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 \ No newline at end of file