diff --git a/docs/releases/1.7.2.txt b/docs/releases/1.7.2.txt index 47a56084d0..fc7bb98349 100644 --- a/docs/releases/1.7.2.txt +++ b/docs/releases/1.7.2.txt @@ -155,3 +155,6 @@ Bugfixes * Ensured the app registry is fully populated when unpickling models. When an external script (like a queueing infrastructure) reloads pickled models, it could crash with an ``AppRegistryNotReady`` exception (:ticket:`24007`). + +* Added quoting to field indexes in the SQL generated by migrations to prevent + a crash when the index name requires it (:ticket:`#24015`). diff --git a/tests/indexes/tests.py b/tests/indexes/tests.py index 411b7646c4..1ba9f1f044 100644 --- a/tests/indexes/tests.py +++ b/tests/indexes/tests.py @@ -12,8 +12,16 @@ class CreationIndexesTests(TestCase): Test index handling by the to-be-deprecated connection.creation interface. """ def test_index_together(self): - index_sql = connection.creation.sql_indexes_for_model(Article, no_style()) + editor = connection.schema_editor() + index_sql = editor._model_indexes_sql(Article) self.assertEqual(len(index_sql), 1) + # Ensure the index name is properly quoted + self.assertIn( + connection.ops.quote_name( + editor._create_index_name(Article, ['headline', 'pub_date'], suffix='_idx') + ), + index_sql[0] + ) def test_index_together_single_list(self): # Test for using index_together with a single list (#22172)