mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #373 -- Added CompositePrimaryKey.
Thanks Lily Foote and Simon Charette for reviews and mentoring this Google Summer of Code 2024 project. Co-authored-by: Simon Charette <charette.s@gmail.com> Co-authored-by: Lily Foote <code@lilyf.org>
This commit is contained in:
committed by
Sarah Boyce
parent
86661f2449
commit
978aae4334
@@ -181,6 +181,7 @@ Model fields
|
||||
* **fields.E011**: ``<database>`` does not support default database values with
|
||||
expressions (``db_default``).
|
||||
* **fields.E012**: ``<expression>`` cannot be used in ``db_default``.
|
||||
* **fields.E013**: ``CompositePrimaryKey`` must be named ``pk``.
|
||||
* **fields.E100**: ``AutoField``\s must set primary_key=True.
|
||||
* **fields.E110**: ``BooleanField``\s do not accept null values. *This check
|
||||
appeared before support for null values was added in Django 2.1.*
|
||||
@@ -417,6 +418,8 @@ Models
|
||||
* **models.W040**: ``<database>`` does not support indexes with non-key
|
||||
columns.
|
||||
* **models.E041**: ``constraints`` refers to the joined field ``<field name>``.
|
||||
* **models.E042**: ``<field name>`` cannot be included in the composite
|
||||
primary key.
|
||||
* **models.W042**: Auto-created primary key used when not defining a primary
|
||||
key type, by default ``django.db.models.AutoField``.
|
||||
* **models.W043**: ``<database>`` does not support indexes on expressions.
|
||||
|
||||
@@ -707,6 +707,23 @@ or :class:`~django.forms.NullBooleanSelect` if :attr:`null=True <Field.null>`.
|
||||
The default value of ``BooleanField`` is ``None`` when :attr:`Field.default`
|
||||
isn't defined.
|
||||
|
||||
``CompositePrimaryKey``
|
||||
-----------------------
|
||||
|
||||
.. versionadded:: 5.2
|
||||
|
||||
.. class:: CompositePrimaryKey(*field_names, **options)
|
||||
|
||||
A virtual field used for defining a composite primary key.
|
||||
|
||||
This field must be defined as the model's ``pk`` field. If present, Django will
|
||||
create the underlying model table with a composite primary key.
|
||||
|
||||
The ``*field_names`` argument is a list of positional field names that compose
|
||||
the primary key.
|
||||
|
||||
See :doc:`/topics/composite-primary-key` for more details.
|
||||
|
||||
``CharField``
|
||||
-------------
|
||||
|
||||
@@ -1615,6 +1632,8 @@ not an instance of ``UUID``.
|
||||
hyphens, because PostgreSQL and MariaDB 10.7+ store them in a hyphenated
|
||||
uuid datatype type.
|
||||
|
||||
.. _relationship-fields:
|
||||
|
||||
Relationship fields
|
||||
===================
|
||||
|
||||
|
||||
Reference in New Issue
Block a user