瀏覽代碼

Fixed #28495 -- Converted GDAL Feature.fields to strings

Claude Paroz 7 年之前
父節點
當前提交
546412e673
共有 2 個文件被更改,包括 8 次插入2 次删除
  1. 7 2
      django/contrib/gis/gdal/feature.py
  2. 1 0
      tests/gis_tests/gdal_tests/test_ds.py

+ 7 - 2
django/contrib/gis/gdal/feature.py

@@ -82,8 +82,13 @@ class Feature(GDALBase):
     @property
     def fields(self):
         "Return a list of fields in the Feature."
-        return [capi.get_field_name(capi.get_field_defn(self._layer._ldefn, i))
-                for i in range(self.num_fields)]
+        return [
+            force_text(
+                capi.get_field_name(capi.get_field_defn(self._layer._ldefn, i)),
+                self.encoding,
+                strings_only=True
+            ) for i in range(self.num_fields)
+        ]
 
     @property
     def geom(self):

+ 1 - 0
tests/gis_tests/gdal_tests/test_ds.py

@@ -195,6 +195,7 @@ class DataSourceTest(unittest.TestCase):
                         # Making sure we get the proper OGR Field instance, using
                         # a string value index for the feature.
                         self.assertIsInstance(feat[k], v)
+                    self.assertIsInstance(feat.fields[0], str)
 
                     # Testing Feature.__iter__
                     for fld in feat: