|
13 | 13 | from django.core.exceptions import ObjectDoesNotExist
|
14 | 14 | from django.core.exceptions import ValidationError as DjangoValidationError
|
15 | 15 | from django.core.validators import (
|
16 |
| - EmailValidator, RegexValidator, URLValidator, ip_address_validators |
| 16 | + EmailValidator, MaxLengthValidator, MaxValueValidator, MinLengthValidator, |
| 17 | + MinValueValidator, RegexValidator, URLValidator, ip_address_validators |
17 | 18 | )
|
18 | 19 | from django.forms import FilePathField as DjangoFilePathField
|
19 | 20 | from django.forms import ImageField as DjangoImageField
|
|
24 | 25 | from django.utils.duration import duration_string
|
25 | 26 | from django.utils.encoding import is_protected_type, smart_text
|
26 | 27 | from django.utils.formats import localize_input, sanitize_separators
|
27 |
| -from django.utils.functional import lazy |
28 | 28 | from django.utils.ipv6 import clean_ipv6_address
|
29 | 29 | from django.utils.timezone import utc
|
30 | 30 | from django.utils.translation import ugettext_lazy as _
|
31 | 31 | from pytz.exceptions import InvalidTimeError
|
32 | 32 |
|
33 | 33 | from rest_framework import ISO_8601
|
34 | 34 | from rest_framework.compat import (
|
35 |
| - Mapping, MaxLengthValidator, MaxValueValidator, MinLengthValidator, |
36 |
| - MinValueValidator, ProhibitNullCharactersValidator, unicode_repr, |
37 |
| - unicode_to_repr |
| 35 | + Mapping, ProhibitNullCharactersValidator, unicode_repr, unicode_to_repr |
38 | 36 | )
|
39 | 37 | from rest_framework.exceptions import ErrorDetail, ValidationError
|
40 | 38 | from rest_framework.settings import api_settings
|
41 | 39 | from rest_framework.utils import html, humanize_datetime, json, representation
|
| 40 | +from rest_framework.utils.formatting import lazy_format |
42 | 41 |
|
43 | 42 |
|
44 | 43 | class empty:
|
@@ -766,15 +765,11 @@ def __init__(self, **kwargs):
|
766 | 765 | self.min_length = kwargs.pop('min_length', None)
|
767 | 766 | super(CharField, self).__init__(**kwargs)
|
768 | 767 | if self.max_length is not None:
|
769 |
| - message = lazy( |
770 |
| - self.error_messages['max_length'].format, |
771 |
| - six.text_type)(max_length=self.max_length) |
| 768 | + message = lazy_format(self.error_messages['max_length'], max_length=self.max_length) |
772 | 769 | self.validators.append(
|
773 | 770 | MaxLengthValidator(self.max_length, message=message))
|
774 | 771 | if self.min_length is not None:
|
775 |
| - message = lazy( |
776 |
| - self.error_messages['min_length'].format, |
777 |
| - six.text_type)(min_length=self.min_length) |
| 772 | + message = lazy_format(self.error_messages['min_length'], min_length=self.min_length) |
778 | 773 | self.validators.append(
|
779 | 774 | MinLengthValidator(self.min_length, message=message))
|
780 | 775 |
|
@@ -935,15 +930,11 @@ def __init__(self, **kwargs):
|
935 | 930 | self.min_value = kwargs.pop('min_value', None)
|
936 | 931 | super(IntegerField, self).__init__(**kwargs)
|
937 | 932 | if self.max_value is not None:
|
938 |
| - message = lazy( |
939 |
| - self.error_messages['max_value'].format, |
940 |
| - six.text_type)(max_value=self.max_value) |
| 933 | + message = lazy_format(self.error_messages['max_value'], max_value=self.max_value) |
941 | 934 | self.validators.append(
|
942 | 935 | MaxValueValidator(self.max_value, message=message))
|
943 | 936 | if self.min_value is not None:
|
944 |
| - message = lazy( |
945 |
| - self.error_messages['min_value'].format, |
946 |
| - six.text_type)(min_value=self.min_value) |
| 937 | + message = lazy_format(self.error_messages['min_value'], min_value=self.min_value) |
947 | 938 | self.validators.append(
|
948 | 939 | MinValueValidator(self.min_value, message=message))
|
949 | 940 |
|
@@ -975,15 +966,11 @@ def __init__(self, **kwargs):
|
975 | 966 | self.min_value = kwargs.pop('min_value', None)
|
976 | 967 | super(FloatField, self).__init__(**kwargs)
|
977 | 968 | if self.max_value is not None:
|
978 |
| - message = lazy( |
979 |
| - self.error_messages['max_value'].format, |
980 |
| - six.text_type)(max_value=self.max_value) |
| 969 | + message = lazy_format(self.error_messages['max_value'], max_value=self.max_value) |
981 | 970 | self.validators.append(
|
982 | 971 | MaxValueValidator(self.max_value, message=message))
|
983 | 972 | if self.min_value is not None:
|
984 |
| - message = lazy( |
985 |
| - self.error_messages['min_value'].format, |
986 |
| - six.text_type)(min_value=self.min_value) |
| 973 | + message = lazy_format(self.error_messages['min_value'], min_value=self.min_value) |
987 | 974 | self.validators.append(
|
988 | 975 | MinValueValidator(self.min_value, message=message))
|
989 | 976 |
|
@@ -1034,15 +1021,11 @@ def __init__(self, max_digits, decimal_places, coerce_to_string=None, max_value=
|
1034 | 1021 | super(DecimalField, self).__init__(**kwargs)
|
1035 | 1022 |
|
1036 | 1023 | if self.max_value is not None:
|
1037 |
| - message = lazy( |
1038 |
| - self.error_messages['max_value'].format, |
1039 |
| - six.text_type)(max_value=self.max_value) |
| 1024 | + message = lazy_format(self.error_messages['max_value'], max_value=self.max_value) |
1040 | 1025 | self.validators.append(
|
1041 | 1026 | MaxValueValidator(self.max_value, message=message))
|
1042 | 1027 | if self.min_value is not None:
|
1043 |
| - message = lazy( |
1044 |
| - self.error_messages['min_value'].format, |
1045 |
| - six.text_type)(min_value=self.min_value) |
| 1028 | + message = lazy_format(self.error_messages['min_value'], min_value=self.min_value) |
1046 | 1029 | self.validators.append(
|
1047 | 1030 | MinValueValidator(self.min_value, message=message))
|
1048 | 1031 |
|
@@ -1380,15 +1363,11 @@ def __init__(self, **kwargs):
|
1380 | 1363 | self.min_value = kwargs.pop('min_value', None)
|
1381 | 1364 | super(DurationField, self).__init__(**kwargs)
|
1382 | 1365 | if self.max_value is not None:
|
1383 |
| - message = lazy( |
1384 |
| - self.error_messages['max_value'].format, |
1385 |
| - six.text_type)(max_value=self.max_value) |
| 1366 | + message = lazy_format(self.error_messages['max_value'], max_value=self.max_value) |
1386 | 1367 | self.validators.append(
|
1387 | 1368 | MaxValueValidator(self.max_value, message=message))
|
1388 | 1369 | if self.min_value is not None:
|
1389 |
| - message = lazy( |
1390 |
| - self.error_messages['min_value'].format, |
1391 |
| - six.text_type)(min_value=self.min_value) |
| 1370 | + message = lazy_format(self.error_messages['min_value'], min_value=self.min_value) |
1392 | 1371 | self.validators.append(
|
1393 | 1372 | MinValueValidator(self.min_value, message=message))
|
1394 | 1373 |
|
@@ -1633,10 +1612,10 @@ def __init__(self, *args, **kwargs):
|
1633 | 1612 | super(ListField, self).__init__(*args, **kwargs)
|
1634 | 1613 | self.child.bind(field_name='', parent=self)
|
1635 | 1614 | if self.max_length is not None:
|
1636 |
| - message = self.error_messages['max_length'].format(max_length=self.max_length) |
| 1615 | + message = lazy_format(self.error_messages['max_length'], max_length=self.max_length) |
1637 | 1616 | self.validators.append(MaxLengthValidator(self.max_length, message=message))
|
1638 | 1617 | if self.min_length is not None:
|
1639 |
| - message = self.error_messages['min_length'].format(min_length=self.min_length) |
| 1618 | + message = lazy_format(self.error_messages['min_length'], min_length=self.min_length) |
1640 | 1619 | self.validators.append(MinLengthValidator(self.min_length, message=message))
|
1641 | 1620 |
|
1642 | 1621 | def get_value(self, dictionary):
|
@@ -1907,9 +1886,7 @@ def __init__(self, model_field, **kwargs):
|
1907 | 1886 | max_length = kwargs.pop('max_length', None)
|
1908 | 1887 | super(ModelField, self).__init__(**kwargs)
|
1909 | 1888 | if max_length is not None:
|
1910 |
| - message = lazy( |
1911 |
| - self.error_messages['max_length'].format, |
1912 |
| - six.text_type)(max_length=self.max_length) |
| 1889 | + message = lazy_format(self.error_messages['max_length'], max_length=self.max_length) |
1913 | 1890 | self.validators.append(
|
1914 | 1891 | MaxLengthValidator(self.max_length, message=message))
|
1915 | 1892 |
|
|
0 commit comments