summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--django/db/models/indexes.py7
-rw-r--r--tests/invalid_models_tests/test_models.py9
2 files changed, 15 insertions, 1 deletions
diff --git a/django/db/models/indexes.py b/django/db/models/indexes.py
index 176f719fe5..a408506527 100644
--- a/django/db/models/indexes.py
+++ b/django/db/models/indexes.py
@@ -114,7 +114,12 @@ class Index:
)
errors.extend(
model._check_local_fields(
- {*self.fields, *self.include, *references}, "indexes"
+ {
+ *[field for field, _ in self.fields_orders],
+ *self.include,
+ *references,
+ },
+ "indexes",
)
)
# Database-feature checks:
diff --git a/tests/invalid_models_tests/test_models.py b/tests/invalid_models_tests/test_models.py
index faa0db9da7..5780704eae 100644
--- a/tests/invalid_models_tests/test_models.py
+++ b/tests/invalid_models_tests/test_models.py
@@ -185,6 +185,15 @@ class IndexesTests(TestCase):
],
)
+ def test_pointing_to_desc_field(self):
+ class Model(models.Model):
+ name = models.CharField(max_length=100)
+
+ class Meta:
+ indexes = [models.Index(fields=["-name"], name="index_name")]
+
+ self.assertEqual(Model.check(databases=self.databases), [])
+
def test_pointing_to_m2m_field(self):
class Model(models.Model):
m2m = models.ManyToManyField("self")