Opened 7 years ago
Last modified 7 years ago
#28632 closed Bug
Models having gis fields cannot be used with Manager.raw() — at Initial Version
Reported by: | gcbirzan | Owned by: | nobody |
---|---|---|---|
Component: | GIS | Version: | 2.0 |
Severity: | Release blocker | Keywords: | |
Cc: | Sergey Fedoseev | Triage Stage: | Ready for checkin |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
This bug was introduced in 1a85b07bddbf43da00311bdbb3ef5519a3165dc6 (I found it with git bisect). Trying to do this results in:
====================================================================== ERROR: test_17_raw_query (gis_tests.relatedapp.test_new.RelatedGeoModelTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/gcbirzan/PycharmProjects/django/tests/gis_tests/relatedapp/test_new.py", line 10, in test_17_raw_query list(raw) File "/home/gcbirzan/PycharmProjects/django/django/db/models/query.py", line 1234, in __iter__ for values in query: File "/home/gcbirzan/PycharmProjects/django/django/db/models/sql/compiler.py", line 949, in apply_converters value = converter(value, expression, connection) File "/home/gcbirzan/PycharmProjects/django/django/contrib/gis/db/backends/postgis/operations.py", line 395, in <lambda> return lambda value, expression, connection: None if value is None else GEOSGeometry(read(value)) File "/home/gcbirzan/PycharmProjects/django/django/contrib/gis/geos/prototypes/io.py", line 153, in read return wkb_reader_read_hex(self.ptr, wkb, len(wkb)) File "/home/gcbirzan/PycharmProjects/django/django/contrib/gis/geos/libgeos.py", line 164, in __call__ return self.func(*args, **kwargs) File "/home/gcbirzan/PycharmProjects/django/django/contrib/gis/geos/prototypes/threadsafe.py", line 55, in __call__ return self.cfunc(self.thread_context.handle.ptr, *args) ctypes.ArgumentError: argument 3: <class 'TypeError'>: wrong type ----------------------------------------------------------------------
This is on python 3.6.3rc1 with libgdal 2.2.1+dfsg-2+b2 (debian sid).
the test I'm using is:
from django.test import TestCase from .models import Location class RelatedGeoModelTest(TestCase): fixtures = ['initial'] def test_17_raw_query(self): raw = Location.objects.raw("SELECT * FROM {}".format(Location._meta.db_table)) list(raw)
Note:
See TracTickets
for help on using tickets.