Kaydet (Commit) 5df3301a authored tarafından Mariusz Felisiak's avatar Mariusz Felisiak

Fixed #30362 -- Noted partial indexes and constraints restrictions with abstract base classes.

Thanks Carlton Gibson for the review.
üst f8f0f92e
...@@ -19,6 +19,15 @@ option. ...@@ -19,6 +19,15 @@ option.
convention is to use ``from django.db import models`` and refer to the convention is to use ``from django.db import models`` and refer to the
constraints as ``models.<Foo>Constraint``. constraints as ``models.<Foo>Constraint``.
.. admonition:: Constraints in abstract base classes
You must always specify a unique name for the constraint. As such, you
cannot normally specify a constraint on an abstract base class, since the
:attr:`Meta.constraints <django.db.models.Options.constraints>` option is
inherited by subclasses, with exactly the same values for the attributes
(including ``name``) each time. Instead, specify the ``constraints`` option
on subclasses directly, providing a unique name for each constraint.
``CheckConstraint`` ``CheckConstraint``
=================== ===================
......
...@@ -49,6 +49,16 @@ The name of the index. If ``name`` isn't provided Django will auto-generate a ...@@ -49,6 +49,16 @@ The name of the index. If ``name`` isn't provided Django will auto-generate a
name. For compatibility with different databases, index names cannot be longer name. For compatibility with different databases, index names cannot be longer
than 30 characters and shouldn't start with a number (0-9) or underscore (_). than 30 characters and shouldn't start with a number (0-9) or underscore (_).
.. admonition:: Partial indexes in abstract base classes
You must always specify a unique name for an index. As such, you
cannot normally specify a partial index on an abstract base class, since
the :attr:`Meta.indexes <django.db.models.Options.indexes>` option is
inherited by subclasses, with exactly the same values for the attributes
(including ``name``) each time. Instead, specify the ``indexes`` option
on subclasses directly, providing a unique name for each index.
``db_tablespace`` ``db_tablespace``
----------------- -----------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment