diff options
Diffstat (limited to 'rest_framework/compat.py')
| -rw-r--r-- | rest_framework/compat.py | 19 | 
1 files changed, 19 insertions, 0 deletions
| diff --git a/rest_framework/compat.py b/rest_framework/compat.py index 7c05bed9..2b4ddb02 100644 --- a/rest_framework/compat.py +++ b/rest_framework/compat.py @@ -121,6 +121,25 @@ else:              return [m.upper() for m in self.http_method_names if hasattr(self, m)] + +# MinValueValidator and MaxValueValidator only accept `message` in 1.8+ +if django.VERSION >= (1, 8): +    from django.core.validators import MinValueValidator, MaxValueValidator +else: +    from django.core.validators import MinValueValidator as DjangoMinValueValidator +    from django.core.validators import MaxValueValidator as DjangoMaxValueValidator + +    class MinValueValidator(DjangoMinValueValidator): +        def __init__(self, *args, **kwargs): +            self.message = kwargs.pop('message', self.message) +            super(MinValueValidator, self).__init__(*args, **kwargs) + +    class MaxValueValidator(DjangoMaxValueValidator): +        def __init__(self, *args, **kwargs): +            self.message = kwargs.pop('message', self.message) +            super(MaxValueValidator, self).__init__(*args, **kwargs) + +  # PATCH method is not implemented by Django  if 'patch' not in View.http_method_names:      View.http_method_names = View.http_method_names + ['patch'] | 
