Skip to content

Commit 41d1e42

Browse files
committed
Add compat util for DecimalValidator
1 parent 6f6f794 commit 41d1e42

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

rest_framework/compat.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,11 @@ def apply_markdown(text):
185185
else:
186186
DurationField = duration_string = parse_duration = None
187187

188+
try:
189+
# DecimalValidator is unavailable in Django < 1.9
190+
from django.core.validators import DecimalValidator
191+
except ImportError:
192+
DecimalValidator = None
188193

189194
def set_rollback():
190195
if hasattr(transaction, 'set_rollback'):

rest_framework/utils/field_mapping.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from django.db import models
99
from django.utils.text import capfirst
1010

11+
from rest_framework.compat import DecimalValidator
1112
from rest_framework.validators import UniqueValidator
1213

1314
NUMERIC_FIELD_TYPES = (
@@ -132,7 +133,7 @@ def get_field_kwargs(field_name, model_field):
132133
if isinstance(model_field, models.DecimalField):
133134
validator_kwarg = [
134135
validator for validator in validator_kwarg
135-
if not isinstance(validator, validators.DecimalValidator)
136+
if DecimalValidator and not isinstance(validator, DecimalValidator)
136137
]
137138

138139
# Ensure that max_length is passed explicitly as a keyword arg,

0 commit comments

Comments
 (0)