[1.5.x] Fixed #16408 -- Re-fixed value conversion with Spatialite backend

Backport of 0907d3c6f from master.
This commit is contained in:
Claude Paroz 2012-12-26 12:45:41 +01:00
parent 1c1df12388
commit 4f67ab6376
2 changed files with 4 additions and 1 deletions

View File

@ -72,6 +72,8 @@ class GeoQuery(sql.Query):
value = Area(**{field.area_att : value}) value = Area(**{field.area_att : value})
elif isinstance(field, (GeomField, GeometryField)) and value: elif isinstance(field, (GeomField, GeometryField)) and value:
value = Geometry(value) value = Geometry(value)
elif field is not None:
return super(GeoQuery, self).convert_values(value, field, connection)
return value return value
def get_aggregation(self, using): def get_aggregation(self, using):

View File

@ -5,7 +5,7 @@ from datetime import datetime
from django.contrib.gis.tests.utils import no_mysql, no_spatialite from django.contrib.gis.tests.utils import no_mysql, no_spatialite
from django.contrib.gis.shortcuts import render_to_kmz from django.contrib.gis.shortcuts import render_to_kmz
from django.db.models import Count from django.db.models import Count, Min
from django.test import TestCase from django.test import TestCase
from .models import City, PennsylvaniaCity, State, Truth from .models import City, PennsylvaniaCity, State, Truth
@ -50,6 +50,7 @@ class GeoRegressionTests(TestCase):
mansfield = PennsylvaniaCity.objects.create(name='Mansfield', county='Tioga', point='POINT(-77.071445 41.823881)', mansfield = PennsylvaniaCity.objects.create(name='Mansfield', county='Tioga', point='POINT(-77.071445 41.823881)',
founded=founded) founded=founded)
self.assertEqual(founded, PennsylvaniaCity.objects.dates('founded', 'day')[0]) self.assertEqual(founded, PennsylvaniaCity.objects.dates('founded', 'day')[0])
self.assertEqual(founded, PennsylvaniaCity.objects.aggregate(Min('founded'))['founded__min'])
def test_empty_count(self): def test_empty_count(self):
"Testing that PostGISAdapter.__eq__ does check empty strings. See #13670." "Testing that PostGISAdapter.__eq__ does check empty strings. See #13670."