#8904: geodjango should return more informative error for lack of MySQL distance
queries
---------------------------------+------------------------------------------
          Reporter:  robstar     |         Owner:  jbronn
            Status:  new         |     Milestone:        
         Component:  GIS         |       Version:  1.0   
        Resolution:              |      Keywords:        
             Stage:  Unreviewed  |     Has_patch:  0     
        Needs_docs:  0           |   Needs_tests:  0     
Needs_better_patch:  0           |  
---------------------------------+------------------------------------------
Changes (by jbronn):

  * needs_better_patch:  => 0
  * needs_tests:  => 0
  * summary:  geodjango should return more informative error for mysql non-
              support => geodjango should return more
              informative error for lack of MySQL distance
              queries
  * version:  1.0-beta-1 => 1.0
  * owner:  nobody => jbronn
  * needs_docs:  => 0

Old description:

> A better error should be reported for when a distance lookup is attempted
> with mysql:
>

> >>> qs = Building.gobjects.filter(geo_loc__distance_lte=(x, D(km=7)))
> Traceback (most recent call last):
>   File "<console>", line 1, in <module>
>   File "/root/django-svn/Django-1.0-beta_2/django/db/models/manager.py",
> line 90, in filter
>     return self.get_query_set().filter(*args, **kwargs)
>   File "/root/django-svn/Django-1.0-beta_2/django/db/models/query.py",
> line 481, in filter
>     return self._filter_or_exclude(False, *args, **kwargs)
>   File "/root/django-svn/Django-1.0-beta_2/django/db/models/query.py",
> line 499, in _filter_or_exclude
>     clone.query.add_q(Q(*args, **kwargs))
>   File "/root/django-
> svn/Django-1.0-beta_2/django/db/models/sql/query.py", line 1189, in add_q
>     can_reuse=used_aliases)
>   File "/root/django-
> svn/Django-1.0-beta_2/django/db/models/sql/query.py", line 1061, in
> add_filter
>     parts, opts, alias, True, allow_many, can_reuse=can_reuse)
>   File "/root/django-
> svn/Django-1.0-beta_2/django/db/models/sql/query.py", line 1377, in
> setup_joins
>     raise FieldError("Join on field %r not permitted." % name)
> FieldError: Join on field 'geo_loc' not permitted.

New description:

 A better error should be reported for when a distance lookup is attempted
 with mysql:

 {{{
 >>> qs = Building.gobjects.filter(geo_loc__distance_lte=(x, D(km=7)))
 Traceback (most recent call last):
   File "<console>", line 1, in <module>
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/manager.py",
 line 90, in filter
     return self.get_query_set().filter(*args, **kwargs)
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/query.py",
 line 481, in filter
     return self._filter_or_exclude(False, *args, **kwargs)
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/query.py",
 line 499, in _filter_or_exclude
     clone.query.add_q(Q(*args, **kwargs))
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/sql/query.py",
 line 1189, in add_q
     can_reuse=used_aliases)
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/sql/query.py",
 line 1061, in add_filter
     parts, opts, alias, True, allow_many, can_reuse=can_reuse)
   File "/root/django-svn/Django-1.0-beta_2/django/db/models/sql/query.py",
 line 1377, in setup_joins
     raise FieldError("Join on field %r not permitted." % name)
 FieldError: Join on field 'geo_loc' not permitted.
 }}}

Comment:

 Yes, a better error needs to be raised.

-- 
Ticket URL: <http://code.djangoproject.com/ticket/8904#comment:1>
Django Code <http://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 post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to