Opened 10 years ago
Last modified 8 years ago
#24920 new New feature
Database type NUMERIC with no parameters is not supported
Reported by: | Shai Berger | Owned by: | nobody |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | dev |
Severity: | Normal | Keywords: | oracle |
Cc: | Triage Stage: | Accepted | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Pull Requests: | How to create a pull request | ||
Description ¶
Django's DecimalField
requires both max_digits
and decimal_places
. Database backends allow them to be dropped, to specify an "unlimited precision" field.
This leads to bugs in inspectdb
: On Oracle, a column defined as NUMERIC
is inspected as having 0 digits and negative precision; on Postgresql, it is inspected as having 65535 (a C short -1?) digits and decimal places, when the documentation says you can only explicitly define up to 1000 decimal places (and even the implicitly defined precision is only 16383).
Discussion in the context of Oracle (from 2012):
https://groups.google.com/d/topic/django-developers/qSAfzPyqKqw/discussion
(This could be solved more easily by adding a new field type than by modifying the behavior of the existing DecimalField
; however, I'm having a hard time suggesting a name for such a field type, which may be an indication that it is a bad interface. Besides that decision, this probably applies as an easy picking).
According to the ticket's flags, the next step(s) to move this issue forward are:
- To provide a patch by sending a pull request. Claim the ticket when you start working so that someone else doesn't duplicate effort. Before sending a pull request, review your work against the patch review checklist. Check the "Has patch" flag on the ticket after sending a pull request and include a link to the pull request in the ticket comment when making that update. The usual format is:
[https://github.com/django/django/pull/#### PR]
.
Change History (3)
comment:1 by , 10 years ago
Easy pickings: | unset |
---|---|
Needs documentation: | unset |
Needs tests: | unset |
Triage Stage: | Unreviewed → Accepted |
comment:2 by , 8 years ago
Any update on this or a suggested way of resolving: either new field or a fix to DecimalField
?
comment:3 by , 8 years ago
If you want to propose a solution, please write to the DevelopersMailingList to get feedback about how to proceed.
Maybe you could raise the idea on the DevelopersMailingList. I think I'd prefer if we didn't need to add a new field, but if so, I'll propose the name
ImpreciseDecimalField
. Seems like a name like that might scare people away from using it though.