47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
|
===========================
|
||
|
Check constraints reference
|
||
|
===========================
|
||
|
|
||
|
.. module:: django.db.models.constraints
|
||
|
|
||
|
.. currentmodule:: django.db.models
|
||
|
|
||
|
.. versionadded:: 2.2
|
||
|
|
||
|
The ``CheckConstraint`` class creates database check constraints. They are
|
||
|
added in the model :attr:`Meta.constraints
|
||
|
<django.db.models.Options.constraints>` option. This document
|
||
|
explains the API references of :class:`CheckConstraint`.
|
||
|
|
||
|
.. admonition:: Referencing built-in constraints
|
||
|
|
||
|
Constraints are defined in ``django.db.models.constraints``, but for
|
||
|
convenience they're imported into :mod:`django.db.models`. The standard
|
||
|
convention is to use ``from django.db import models`` and refer to the
|
||
|
constraints as ``models.CheckConstraint``.
|
||
|
|
||
|
``CheckConstraint`` options
|
||
|
===========================
|
||
|
|
||
|
.. class:: CheckConstraint(constraint, name)
|
||
|
|
||
|
Creates a check constraint in the database.
|
||
|
|
||
|
``constraint``
|
||
|
--------------
|
||
|
|
||
|
.. attribute:: CheckConstraint.constraint
|
||
|
|
||
|
A :class:`Q` object that specifies the condition you want the constraint to
|
||
|
enforce.
|
||
|
|
||
|
For example ``CheckConstraint(Q(age__gte=18), 'age_gte_18')`` ensures the age
|
||
|
field is never less than 18.
|
||
|
|
||
|
``name``
|
||
|
--------
|
||
|
|
||
|
.. attribute:: CheckConstraint.name
|
||
|
|
||
|
The name of the constraint.
|