Skip to content

Commit a0653e3

Browse files
committed
fix
1 parent 6171871 commit a0653e3

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

django_mongodb/schema.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def add_field(self, model, field):
5555
if self._field_should_be_indexed(model, field):
5656
index = Index(fields=[field.name])
5757
index.name = self._create_index_name(model._meta.db_table, [field.column])
58-
self.add_index(model, index)
58+
self.add_index(model, index, field=field)
5959

6060
def _alter_field(
6161
self,
@@ -148,14 +148,19 @@ def alter_index_together(self, model, old_index_together, new_index_together):
148148
def alter_unique_together(self, model, old_unique_together, new_unique_together):
149149
pass
150150

151-
def add_index(self, model, index):
151+
def add_index(self, model, index, field=None):
152152
if index.contains_expressions:
153153
return
154-
idx = IndexModel(
155-
[
154+
index_orders = (
155+
[(field.column, 1)]
156+
if field
157+
else [
156158
(model._meta.get_field(field_name).column, 1 if order == "" else -1)
157159
for field_name, order in index.fields_orders
158-
],
160+
]
161+
)
162+
idx = IndexModel(
163+
index_orders,
159164
name=index.name,
160165
)
161166
self.connection.database[model._meta.db_table].create_indexes([idx])

0 commit comments

Comments
 (0)