diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/indexes/models.py | 1 | ||||
| -rw-r--r-- | tests/indexes/tests.py | 7 |
2 files changed, 6 insertions, 2 deletions
diff --git a/tests/indexes/models.py b/tests/indexes/models.py index b348f0365c..dc384ab489 100644 --- a/tests/indexes/models.py +++ b/tests/indexes/models.py @@ -19,6 +19,7 @@ class CurrentTranslation(models.ForeignObject): class ArticleTranslation(models.Model): article = models.ForeignKey('indexes.Article', models.CASCADE) + article_no_constraint = models.ForeignKey('indexes.Article', models.CASCADE, db_constraint=False) language = models.CharField(max_length=10, unique=True) content = models.TextField() diff --git a/tests/indexes/tests.py b/tests/indexes/tests.py index 6e27130f63..dfc503e15d 100644 --- a/tests/indexes/tests.py +++ b/tests/indexes/tests.py @@ -62,7 +62,7 @@ class SchemaIndexesTests(TestCase): def test_no_index_for_foreignkey(self): """ MySQL on InnoDB already creates indexes automatically for foreign keys. - (#14180). + (#14180). An index should be created if db_constraint=False (#26171). """ storage = connection.introspection.get_storage_engine( connection.cursor(), ArticleTranslation._meta.db_table @@ -70,4 +70,7 @@ class SchemaIndexesTests(TestCase): if storage != "InnoDB": self.skip("This test only applies to the InnoDB storage engine") index_sql = connection.schema_editor()._model_indexes_sql(ArticleTranslation) - self.assertEqual(index_sql, []) + self.assertEqual(index_sql, [ + 'CREATE INDEX `indexes_articletranslation_99fb53c2` ' + 'ON `indexes_articletranslation` (`article_no_constraint_id`)' + ]) |
