Aggregates (Min, Max) for CharField fails with Postgresql
If you try to do aggregate on a CharField
using with Min or Max, it works fine in sqlite3 but fails in PostgresSQL. I have version 9.0 of postgres and latest dev version of django.
The error occurs because Django is trying to convert the string to float in http://code.djangoproject.com/browser/django/trunk/django/db/backends/__init__.py?rev=9742, line number 399.
Thats the version where this code was first introduced and as far as I can tell its been broken all the way from then to most recent version http://code.djangoproject.com/browser/django/trunk/django/db/backends/__init__.py, line 553.
One fix that seems to work is to change line 549 from elif internal_type in ('DateField', 'DateTimeField', 'TimeField'):
to elif internal_type in ('DateField', 'DateTimeField', 'TimeField', 'CharField'):
I dont know if that has other side effects. If I am doing something wrong, please let me know.
Change History
(7)
Has patch: |
set
|
Needs tests: |
set
|
Patch needs improvement: |
set
|
Triage Stage: |
Unreviewed → Accepted
|
Owner: |
changed from nobody to Greg Wogan-Browne
|
Status: |
new → assigned
|
Version: |
1.2 → SVN
|
Severity: |
→ Normal
|
Type: |
→ Bug
|
Resolution: |
→ worksforme
|
Status: |
assigned → closed
|
Marking has-patch because there is a proposed fix, but it needs tests, and needs to be turned into a diff.