Loading django/contrib/gis/tests/layermap/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ class CountyFeat(models.Model): class City(models.Model): name = models.CharField(max_length=25) name_txt = models.TextField(default='') population = models.IntegerField() density = models.DecimalField(max_digits=7, decimal_places=1) dt = models.DateField() Loading django/contrib/gis/tests/layermap/tests.py +9 −0 Original line number Diff line number Diff line Loading @@ -272,3 +272,12 @@ class LayerMapTest(TestCase): lm = LayerMapping(Invalid, invalid_shp, invalid_mapping, source_srs=4326) lm.save(silent=True) def test_textfield(self): "Tests that String content fits also in a TextField" mapping = copy(city_mapping) mapping['name_txt'] = 'Name' lm = LayerMapping(City, city_shp, mapping) lm.save(silent=True, strict=True) self.assertEqual(City.objects.count(), 3) self.assertEqual(City.objects.all().order_by('name_txt')[0].name_txt, "Houston") django/contrib/gis/utils/layermapping.py +1 −1 Original line number Diff line number Diff line Loading @@ -332,7 +332,7 @@ class LayerMapping(object): val = unicode(ogr_field.value, self.encoding) else: val = ogr_field.value if len(val) > model_field.max_length: if model_field.max_length and len(val) > model_field.max_length: raise InvalidString('%s model field maximum string length is %s, given %s characters.' % (model_field.name, model_field.max_length, len(val))) elif isinstance(ogr_field, OFTReal) and isinstance(model_field, models.DecimalField): Loading Loading
django/contrib/gis/tests/layermap/models.py +1 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ class CountyFeat(models.Model): class City(models.Model): name = models.CharField(max_length=25) name_txt = models.TextField(default='') population = models.IntegerField() density = models.DecimalField(max_digits=7, decimal_places=1) dt = models.DateField() Loading
django/contrib/gis/tests/layermap/tests.py +9 −0 Original line number Diff line number Diff line Loading @@ -272,3 +272,12 @@ class LayerMapTest(TestCase): lm = LayerMapping(Invalid, invalid_shp, invalid_mapping, source_srs=4326) lm.save(silent=True) def test_textfield(self): "Tests that String content fits also in a TextField" mapping = copy(city_mapping) mapping['name_txt'] = 'Name' lm = LayerMapping(City, city_shp, mapping) lm.save(silent=True, strict=True) self.assertEqual(City.objects.count(), 3) self.assertEqual(City.objects.all().order_by('name_txt')[0].name_txt, "Houston")
django/contrib/gis/utils/layermapping.py +1 −1 Original line number Diff line number Diff line Loading @@ -332,7 +332,7 @@ class LayerMapping(object): val = unicode(ogr_field.value, self.encoding) else: val = ogr_field.value if len(val) > model_field.max_length: if model_field.max_length and len(val) > model_field.max_length: raise InvalidString('%s model field maximum string length is %s, given %s characters.' % (model_field.name, model_field.max_length, len(val))) elif isinstance(ogr_field, OFTReal) and isinstance(model_field, models.DecimalField): Loading