@@ -735,28 +735,18 @@ def _create_index_sql(self, model, fields, *, name=None, suffix='', using='',
735735 `sql` can be specified if the syntax differs from the standard (GIS
736736 indexes, ...).
737737 """
738- tablespace_sql = self ._get_index_tablespace_sql (model , fields , db_tablespace = db_tablespace )
739- columns = [field .column for field in fields ]
740- sql_create_index = sql or self .sql_create_index
741- table = model ._meta .db_table
742-
743- def create_index_name (* args , ** kwargs ):
744- nonlocal name
745- if name is None :
746- name = self ._create_index_name (* args , ** kwargs )
747- return self .quote_name (name )
748-
749- return Statement (
750- sql_create_index ,
751- table = Table (table , self .quote_name ),
752- name = IndexName (table , columns , suffix , create_index_name ),
753- using = using ,
754- columns = self ._index_columns (table , columns , col_suffixes , opclasses ),
755- extra = tablespace_sql ,
756- condition = (' WHERE ' + condition ) if condition else '' ,
757- include = ''
738+ if django_version >= (3 , 2 ):
739+ return super ()._create_index_sql (
740+ model , fields = fields , name = name , suffix = suffix , using = using ,
741+ db_tablespace = db_tablespace , col_suffixes = col_suffixes , sql = sql ,
742+ opclasses = opclasses , condition = condition , include = include ,
743+ expressions = expressions ,
744+ )
745+ return super ()._create_index_sql (
746+ model , fields = fields , name = name , suffix = suffix , using = using ,
747+ db_tablespace = db_tablespace , col_suffixes = col_suffixes , sql = sql ,
748+ opclasses = opclasses , condition = condition ,
758749 )
759-
760750 def create_model (self , model ):
761751 """
762752 Takes a model and creates a table for it in the database.
0 commit comments