Loading django/contrib/gis/db/models/fields.py +6 −2 Original line number Diff line number Diff line Loading @@ -257,8 +257,12 @@ class GeometryField(GeoSelectFormatMixin, BaseSpatialField): return geom def from_db_value(self, value, expression, connection, context): if value and not isinstance(value, Geometry): if value: if not isinstance(value, Geometry): value = Geometry(value) srid = value.srid if not srid and self.srid != -1: value.srid = self.srid return value def get_srid(self, geom): Loading tests/gis_tests/geoapp/tests.py +4 −0 Original line number Diff line number Diff line Loading @@ -893,3 +893,7 @@ class GeoQuerySetTest(TestCase): def test_non_concrete_field(self): NonConcreteModel.objects.create(point=Point(0, 0), name='name') list(NonConcreteModel.objects.all()) def test_values_srid(self): for c, v in zip(City.objects.all(), City.objects.values()): self.assertEqual(c.point.srid, v['point'].srid) Loading
django/contrib/gis/db/models/fields.py +6 −2 Original line number Diff line number Diff line Loading @@ -257,8 +257,12 @@ class GeometryField(GeoSelectFormatMixin, BaseSpatialField): return geom def from_db_value(self, value, expression, connection, context): if value and not isinstance(value, Geometry): if value: if not isinstance(value, Geometry): value = Geometry(value) srid = value.srid if not srid and self.srid != -1: value.srid = self.srid return value def get_srid(self, geom): Loading
tests/gis_tests/geoapp/tests.py +4 −0 Original line number Diff line number Diff line Loading @@ -893,3 +893,7 @@ class GeoQuerySetTest(TestCase): def test_non_concrete_field(self): NonConcreteModel.objects.create(point=Point(0, 0), name='name') list(NonConcreteModel.objects.all()) def test_values_srid(self): for c, v in zip(City.objects.all(), City.objects.values()): self.assertEqual(c.point.srid, v['point'].srid)