https://docs.djangoproject.com/en/dev/ref/models/fields/#bigintegerfield
https://docs.djangoproject.com/en/dev/ref/models/fields/#positivesmallintegerfield
https://docs.djangoproject.com/en/dev/ref/models/fields/#smallintegerfield
But these do not state the same info:
https://docs.djangoproject.com/en/dev/ref/models/fields/#integerfield
https://docs.djangoproject.com/en/dev/ref/models/fields/#positiveintegerfield
For clarity, I think all of the above fields should be documented with a
standardized sentence like this:
'''"Values from X to Y are safe in all databases supported by Django."'''
--
Ticket URL: <https://code.djangoproject.com/ticket/21427>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* needs_better_patch: => 0
* version: => master
* needs_docs: => 0
* needs_tests: => 0
* stage: Unreviewed => Accepted
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:1>
Comment (by giuliettamasina):
Opened a pull request here: https://github.com/django/django/pull/1949
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:2>
* has_patch: 0 => 1
* stage: Accepted => Ready for checkin
Comment:
Assuming the ranges are correct, this looks good. Could you amend your PR
to follow the
[https://docs.djangoproject.com/en/dev/internals/contributing/committing-
code/#committing-guidelines commit message guidelines]? Also, don't forget
to check "Has patch" so the ticket appears in the review queue. Thanks!
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:3>
* stage: Ready for checkin => Accepted
Comment:
Sorry, but I'd like to know where do the new figures come from. Could you
please document here your findings (with appropriate links to backends
documentation)?
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:4>
Comment (by giuliettamasina):
Sorry, I did not do my homework properly, and the values were not correct.
I've now corrected them and opened a new pull request (following commit
message guidelines): https://github.com/django/django/pull/1955
The values and their sources are as follows:
'''MySQL'''
IntegerField (integer): -2147483648 to 2147483647
PositiveIntegerField (integer UNSIGNED): 0 to 2147483647
PositiveSmallIntegerField (smallint UNSIGNED): 0 to 32767
Source: http://dev.mysql.com/doc/refman/5.0/en/integer-types.html
'''Postgres'''
IntegerField (integer): -2147483648 to 2147483647
PositiveIntegerField (integer): 0 to 2147483647
PositiveSmallIntegerField (smallint): 0 to 32767
Source: http://www.postgresql.org/docs/devel/static/datatype-numeric.html
'''Oracle'''
IntegerField (NUMBER(11)): -99999999999 to 99999999999
PositiveIntegerField (NUMBER(11)): 0 to 99999999999
PositiveSmallIntegerField (NUMBER(11)): 0 to 99999999999
Source:
http://docs.oracle.com/cd/E11882_01/server.112/e25513/limits001.htm
'''SQLite'''
("1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.")
IntegerField (integer): -9223372036854775808 to 9223372036854775807
PositiveIntegerField (integer unsigned): 0 to 9223372036854775807
PositiveSmallIntegerField (smallint unsigned): 0 to 9223372036854775807
Source: http://www.sqlite.org/datatype3.html
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:5>
* stage: Accepted => Ready for checkin
Comment:
Everything looks good.
Thanks for finding all the references too, this is very valuable.
I'll mark the ticket as `ready for checkin` and commit it later today if
no one does it before.
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:6>
* status: new => closed
* resolution: => fixed
Comment:
In [changeset:"b6a6cf4ab791b092e18ab16537aa88dd7ae9bc36"]:
{{{
#!CommitTicketReference repository=""
revision="b6a6cf4ab791b092e18ab16537aa88dd7ae9bc36"
Fixed #21427 -- Clearly state integer field value ranges in docs
Added an explicit mention of the exact value ranges for integer type
fields that are safe in all databases supported by Django. Also, put
all value numbers inside double ticks.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:7>
Comment (by Baptiste Mispelon <bmispelon@…>):
In [changeset:"47abfa237e21ca71d8ee901cf8ba1f1c89ae1f2e"]:
{{{
#!CommitTicketReference repository=""
revision="47abfa237e21ca71d8ee901cf8ba1f1c89ae1f2e"
[1.6.x] Fixed #21427 -- Clearly state integer field value ranges in docs
Added an explicit mention of the exact value ranges for integer type
fields that are safe in all databases supported by Django. Also, put
all value numbers inside double ticks.
Backport of b6a6cf4ab791b092e18ab16537aa88dd7ae9bc36 from master.
}}}
--
Ticket URL: <https://code.djangoproject.com/ticket/21427#comment:8>