#28632: Models having gis fields cannot be used with Manager.raw()
--------------------------------------+------------------------
               Reporter:  gcbirzan    |          Owner:  nobody
                   Type:  Bug         |         Status:  new
              Component:  GIS         |        Version:  1.11
               Severity:  Normal      |       Keywords:
           Triage Stage:  Unreviewed  |      Has patch:  0
    Needs documentation:  0           |    Needs tests:  0
Patch needs improvement:  0           |  Easy pickings:  0
                  UI/UX:  0           |
--------------------------------------+------------------------
 This bug was introduced in
 
[https://github.com/django/django/commit/1a85b07bddbf43da00311bdbb3ef5519a3165dc6
 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)

 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/28632>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/051.5e8fbdcc69e0e498f02aebcf7e6b40ee%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to