Constraints referenceLink to this heading

The classes defined in this module create database constraints. They are added in the model Meta.constraints option.

CheckConstraintLink to this heading

class CheckConstraint(*, check, name)Link to this definition

Creates a check constraint in the database.

checkLink to this heading

CheckConstraint.checkLink to this definition

A Q object that specifies the check you want the constraint to enforce.

For example, CheckConstraint(check=Q(age__gte=18), name='age_gte_18') ensures the age field is never less than 18.

nameLink to this heading

CheckConstraint.nameLink to this definition

The name of the constraint.

UniqueConstraintLink to this heading

class UniqueConstraint(*, fields, name, condition=None)Link to this definition

Creates a unique constraint in the database.

fieldsLink to this heading

UniqueConstraint.fieldsLink to this definition

A list of field names that specifies the unique set of columns you want the constraint to enforce.

For example, UniqueConstraint(fields=['room', 'date'], name='unique_booking') ensures each room can only be booked once for each date.

nameLink to this heading

UniqueConstraint.nameLink to this definition

The name of the constraint.

conditionLink to this heading

UniqueConstraint.conditionLink to this definition

A Q object that specifies the condition you want the constraint to enforce.

例子:

Code
UniqueConstraint(fields=['user'], condition=Q(status='DRAFT'), name='unique_draft_user')

ensures that each user only has one draft.

These conditions have the same database restrictions as Index.condition.