From 7edc6e53a746af995e3b89d53d37938dd8fc46aa Mon Sep 17 00:00:00 2001 From: Hannes Ljungberg Date: Thu, 11 Jun 2020 21:37:12 +0200 Subject: Fixed #31702 -- Added support for PostgreSQL opclasses in UniqueConstraint. --- docs/ref/models/constraints.txt | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'docs/ref') diff --git a/docs/ref/models/constraints.txt b/docs/ref/models/constraints.txt index 819bb3a20b..1536a8692a 100644 --- a/docs/ref/models/constraints.txt +++ b/docs/ref/models/constraints.txt @@ -73,7 +73,7 @@ constraint. ``UniqueConstraint`` ==================== -.. class:: UniqueConstraint(*, fields, name, condition=None, deferrable=None, include=None) +.. class:: UniqueConstraint(*, fields, name, condition=None, deferrable=None, include=None, opclasses=()) Creates a unique constraint in the database. @@ -168,3 +168,24 @@ while fetching data only from the index. ``include`` is supported only on PostgreSQL. Non-key columns have the same database restrictions as :attr:`Index.include`. + + +``opclasses`` +------------- + +.. attribute:: UniqueConstraint.opclasses + +.. versionadded:: 3.2 + +The names of the `PostgreSQL operator classes +`_ to use for +this unique index. If you require a custom operator class, you must provide one +for each field in the index. + +For example:: + + UniqueConstraint(name='unique_username', fields=['username'], opclasses=['varchar_pattern_ops']) + +creates a unique index on ``username`` using ``varchar_pattern_ops``. + +``opclasses`` are ignored for databases besides PostgreSQL. -- cgit v1.3