Référence des contraintesLien vers cette rubrique

Les classes définies dans ce module créent des contraintes de base de données. Elles sont ajoutées dans l’option Meta.constraints des modèles.

CheckConstraintLien vers cette rubrique

class CheckConstraint(*, check, name)Lien vers cette définition

Crée une contrainte de vérification dans la base de données.

checkLien vers cette rubrique

CheckConstraint.checkLien vers cette définition

Un objet Q qui indique le contrôle que la contrainte souhaitée doit appliquer.

Par exemple, CheckConstraint(check=Q(age__gte=18), name='age_gte_18') s’assure que le champ age n’est jamais au-dessous de 18.

nameLien vers cette rubrique

CheckConstraint.nameLien vers cette définition

Le nom de la contrainte.

UniqueConstraintLien vers cette rubrique

class UniqueConstraint(*, fields, name, condition=None)Lien vers cette définition

Crée une contrainte d’unicité dans la base de données.

fieldsLien vers cette rubrique

UniqueConstraint.fieldsLien vers cette définition

Une liste de noms de champs qui précise l’ensemble unique de colonnes pour lesquelles la contrainte va assurer l’unicité.

Par exemple, UniqueConstraint(fields=['chambre', 'date'], name='reservation_unique') s’assure que chaque chambre ne peut être réservée qu’une seule fois par date.

nameLien vers cette rubrique

UniqueConstraint.nameLien vers cette définition

Le nom de la contrainte.

conditionLien vers cette rubrique

UniqueConstraint.conditionLien vers cette définition

Un objet Q qui indique la condition que la contrainte souhaitée doit appliquer.

Par exemple :

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

s’assure que chaque utilisateur dispose d’un seul brouillon.

Ces conditions sont soumises aux même restrictions de base de données que Index.condition.