File tree Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Expand file tree Collapse file tree 1 file changed +8
-1
lines changed Original file line number Diff line number Diff line change @@ -127,13 +127,20 @@ def _get_name(field_names):
127
127
def add_index (self , model , index , unique = False ):
128
128
if index .contains_expressions :
129
129
return
130
+ kwargs = {}
131
+ if unique :
132
+ filter_expression = {}
133
+ for field_name , _ in index .fields_orders :
134
+ field = model ._meta .get_field (field_name )
135
+ filter_expression [field_name ] = {"$type" : field .db_type (self .connection )}
136
+ kwargs = {"partialFilterExpression" : filter_expression , "unique" : True }
130
137
idx = IndexModel (
131
138
[
132
139
(model ._meta .get_field (field_name ).column , 1 if order == "" else - 1 )
133
140
for field_name , order in index .fields_orders
134
141
],
135
142
name = index .name ,
136
- unique = unique ,
143
+ ** kwargs ,
137
144
)
138
145
self .connection .database [model ._meta .db_table ].create_indexes ([idx ])
139
146
You can’t perform that action at this time.
0 commit comments