|
1 | 1 | import json |
2 | 2 |
|
3 | | -from django.contrib.postgres.validators import ArrayMaxLengthValidator |
4 | 3 | from django.core import checks, exceptions |
5 | 4 | from django.db.models import DecimalField, Field, Func, IntegerField, Transform, Value |
6 | 5 | from django.db.models.fields.mixins import CheckFieldDefaultMixin |
|
10 | 9 | from ..forms import SimpleArrayField |
11 | 10 | from ..query_utils import process_lhs, process_rhs |
12 | 11 | from ..utils import prefix_validation_error |
13 | | -from .validators import LengthValidator |
| 12 | +from ..validators import ArrayMaxLengthValidator, LengthValidator |
14 | 13 |
|
15 | 14 | __all__ = ["ArrayField"] |
16 | 15 |
|
@@ -42,7 +41,6 @@ def __init__(self, base_field, max_size=None, size=None, **kwargs): |
42 | 41 | if self.size: |
43 | 42 | self.default_validators = [ |
44 | 43 | *self.default_validators, |
45 | | - ArrayMaxLengthValidator(self.size), |
46 | 44 | LengthValidator(self.size), |
47 | 45 | ] |
48 | 46 | # For performance, only add a from_db_value() method if the base field |
@@ -221,6 +219,7 @@ def formfield(self, **kwargs): |
221 | 219 | "form_class": SimpleArrayField, |
222 | 220 | "base_field": self.base_field.formfield(), |
223 | 221 | "max_length": self.max_size, |
| 222 | + "size": self.size, |
224 | 223 | **kwargs, |
225 | 224 | } |
226 | 225 | ) |
|
0 commit comments