#8904 closed (fixed)
GeoDjango should raise a more informative exception when doing distance queries on MySQL
Reported by: | robstar | Owned by: | jbronn |
---|---|---|---|
Component: | GIS | Version: | 1.0 |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Design decision needed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
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.
Change History (5)
comment:1 by , 16 years ago
Description: | modified (diff) |
---|---|
Owner: | changed from | to
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 |
comment:2 by , 16 years ago
Summary: | geodjango should return more informative error for lack of MySQL distance queries → GeoDjango should raise a more informative exception when doing distance queries on MySQL |
---|---|
Triage Stage: | Unreviewed → Design decision needed |
comment:3 by , 16 years ago
I haven't forgotten about this ticket, I'm going to do this when I change other things across the spatial backends.
comment:4 by , 15 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:5 by , 15 years ago
No need to backport to 1.1.X -- due to the way queries were constructed pre multi-db, the error would never be propagated up. Regardless, the message was been improved anyways for 1.1 users, who would see:
FieldError: Join on field 'geom' not permitted. Did you misspell 'distance_lte' for the lookup type?
Note:
See TracTickets
for help on using tickets.
Yes, a better error needs to be raised.