|
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 |
@@ -223,6 +221,7 @@ def formfield(self, **kwargs): |
223 | 221 | "form_class": SimpleArrayField, |
224 | 222 | "base_field": self.base_field.formfield(), |
225 | 223 | "max_length": self.max_size, |
| 224 | + "size": self.size, |
226 | 225 | **kwargs, |
227 | 226 | } |
228 | 227 | ) |
|
0 commit comments