瀏覽代碼

Refs #17448 -- Fixed GeoModelTest.test_raw_sql_query.

The test was a false positive.
Sergey Fedoseev 7 年之前
父節點
當前提交
69922d303d
共有 1 個文件被更改,包括 7 次插入8 次删除
  1. 7 8
      tests/gis_tests/geoapp/tests.py

+ 7 - 8
tests/gis_tests/geoapp/tests.py

@@ -171,14 +171,13 @@ class GeoModelTest(TestCase):
     def test_raw_sql_query(self):
         "Testing raw SQL query."
         cities1 = City.objects.all()
-        # Only PostGIS would support a 'select *' query because of its recognized
-        # HEXEWKB format for geometry fields
-        as_text = 'ST_AsText(%s)' if postgis else connection.ops.select
-        cities2 = City.objects.raw(
-            'select id, name, %s from geoapp_city' % as_text % 'point'
-        )
-        self.assertEqual(len(cities1), len(list(cities2)))
-        self.assertIsInstance(cities2[0].point, Point)
+        point_select = connection.ops.select % 'point'
+        cities2 = list(City.objects.raw(
+            'select id, name, %s as point from geoapp_city' % point_select
+        ))
+        self.assertEqual(len(cities1), len(cities2))
+        with self.assertNumQueries(0):  # Ensure point isn't deferred.
+            self.assertIsInstance(cities2[0].point, Point)
 
     def test_dumpdata_loaddata_cycle(self):
         """