#36037: Documentation mentions default primary key being regular IntegerField, not
BigAutoField
-------------------------------------+-------------------------------------
Reporter: Ari Pollak | Owner: (none)
Type: | Status: new
Cleanup/optimization |
Component: Documentation | Version: 5.1
Severity: Normal | Resolution:
Keywords: | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 1 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by Ari Pollak:
Old description:
> Currently, Django's default primary key type is a BigAutoField. However,
> a couple of pages still talk about it being an IntegerField.
>
> Under
https://docs.djangoproject.com/en/5.1/topics/db/models/#field-
> options:
>
> If you don’t specify primary_key=True for any fields in your model,
> Django will automatically add an IntegerField to hold the primary key, so
> you don’t need to set primary_key=True on any of your fields unless you
> want to override the default primary-key behavior. For more, see
> Automatic primary key fields
>
> Under
https://docs.djangoproject.com/en/5.1/ref/contrib/contenttypes
> /#generic-relations:
>
> 2. Give your model a field that can store primary key values from the
> models you’ll be relating to. For most models, this means a
> PositiveIntegerField. The usual name for this field is “object_id”.
New description:
BigAutoField is the default type of primary key now, and in Postgres,
regular IntegerField only goes up to around 2 billion. However, a couple
of pages still talk about the default primary key being an IntegerField.
Under
https://docs.djangoproject.com/en/5.1/topics/db/models/#field-
options:
If you don’t specify primary_key=True for any fields in your model, Django
will automatically add an IntegerField to hold the primary key, so you
don’t need to set primary_key=True on any of your fields unless you want
to override the default primary-key behavior. For more, see Automatic
primary key fields
Under
https://docs.djangoproject.com/en/5.1/ref/contrib/contenttypes
/#generic-relations:
2. Give your model a field that can store primary key values from the
models you’ll be relating to. For most models, this means a
PositiveIntegerField. The usual name for this field is “object_id”.
--
--
Ticket URL: <
https://code.djangoproject.com/ticket/36037#comment:1>