#13844: Errors when using character fields for aggregation
-------------------------------------+-------------------------------------
Reporter: zegrep@… | Owner: wogan
Type: Bug | Status: assigned
Component: Database layer | Version: 1.2
(models, ORM) | Resolution:
Severity: Normal | Triage Stage: Ready for
Keywords: | checkin
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Changes (by akaariai):
* needs_better_patch: 1 => 0
* needs_tests: 1 => 0
* stage: Accepted => Ready for checkin
Comment:
There is a comment in Oracle's convert_values() which says that because
to_python() is meant for validation, it should not be used for converting
values. At least one possible problem is that the to_python() method
raises `ValidationError` on problematic input, and that error doesn't fit
here.
I am proposing (and I am going to likely commit)
[https://github.com/akaariai/django/commit/fe1e4f4e3ca3a70cdc3d327f9021b349fa75b431
a patch] which just removes the non-necessary float(value) from
convert_values. This fixes PostgreSQL and MySQL. Oracle and SQLite already
override the convert_values() method, and return the bare value in the
"unknown field type" case.
In addition, the suggestion made in the comments of this ticket that the
conversion should be done by the field, not by the backend gets a +1 from
me. It might be as straightforward as defining to_python() to do the
conversion, but IMO it needs separate ticket and some more investigation.
--
Ticket URL: <https://code.djangoproject.com/ticket/13844#comment:12>
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 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.