summaryrefslogtreecommitdiff
path: root/django/contrib/postgres/fields/array.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2015-12-04 13:14:12 -0500
committerSimon Charette <charette.s@gmail.com>2015-12-07 14:45:22 -0500
commit59b57e672c2f5a685804cce253d2c5314c45c5fa (patch)
tree0bacbb67cc65688dcdec3396564d01ee3591641b /django/contrib/postgres/fields/array.py
parent9c835990ea2911c06a877296fbc25157c1302e1d (diff)
downloaddjango-59b57e672c2f5a685804cce253d2c5314c45c5fa.tar.gz
Fixed #25867 -- Fixed a system check crash with nested ArrayFields.
Thanks to Jean Gourds for the report, Tim and Claude for the review.
Diffstat (limited to 'django/contrib/postgres/fields/array.py')
-rw-r--r--django/contrib/postgres/fields/array.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/django/contrib/postgres/fields/array.py b/django/contrib/postgres/fields/array.py
index ff37483b4f..65f28672aa 100644
--- a/django/contrib/postgres/fields/array.py
+++ b/django/contrib/postgres/fields/array.py
@@ -29,9 +29,17 @@ class ArrayField(Field):
self.default_validators.append(ArrayMaxLengthValidator(self.size))
super(ArrayField, self).__init__(**kwargs)
- def contribute_to_class(self, cls, name, **kwargs):
- super(ArrayField, self).contribute_to_class(cls, name, **kwargs)
- self.base_field.model = cls
+ @property
+ def model(self):
+ try:
+ return self.__dict__['model']
+ except KeyError:
+ raise AttributeError("'%s' object has no attribute 'model'" % self.__class__.__name__)
+
+ @model.setter
+ def model(self, model):
+ self.__dict__['model'] = model
+ self.base_field.model = model
def check(self, **kwargs):
errors = super(ArrayField, self).check(**kwargs)