From 5a77190e6661c17384151247991e0069f6bd9d65 Mon Sep 17 00:00:00 2001 From: jtiai Date: Fri, 21 Dec 2018 17:44:34 -0500 Subject: [PATCH] Fixed #29792 -- Made GeometryField.deconstruct() handle 'extent' and 'tolerance' args. --- django/contrib/gis/db/models/fields.py | 4 ++++ tests/gis_tests/test_fields.py | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/django/contrib/gis/db/models/fields.py b/django/contrib/gis/db/models/fields.py index 0cd644ddd9..79fdbd2799 100644 --- a/django/contrib/gis/db/models/fields.py +++ b/django/contrib/gis/db/models/fields.py @@ -243,6 +243,10 @@ class GeometryField(BaseSpatialField): kwargs['dim'] = self.dim if self.geography is not False: kwargs['geography'] = self.geography + if self._extent != (-180.0, -90.0, 180.0, 90.0): + kwargs['extent'] = self._extent + if self._tolerance != 0.05: + kwargs['tolerance'] = self._tolerance return name, path, args, kwargs def contribute_to_class(self, cls, name, **kwargs): diff --git a/tests/gis_tests/test_fields.py b/tests/gis_tests/test_fields.py index 215b9f9a25..5ccaf2df68 100644 --- a/tests/gis_tests/test_fields.py +++ b/tests/gis_tests/test_fields.py @@ -27,10 +27,14 @@ class GeometryFieldTests(SimpleTestCase): srid=4067, dim=3, geography=True, + extent=(50199.4814, 6582464.0358, -50000.0, 761274.6247, 7799839.8902, 50000.0), + tolerance=0.01, ) *_, kwargs = field.deconstruct() self.assertEqual(kwargs, { 'srid': 4067, 'dim': 3, 'geography': True, + 'extent': (50199.4814, 6582464.0358, -50000.0, 761274.6247, 7799839.8902, 50000.0), + 'tolerance': 0.01, })