当前位置: 首页>>代码示例>>Python>>正文


Python migrations.AddIndex方法代码示例

本文整理汇总了Python中django.db.migrations.AddIndex方法的典型用法代码示例。如果您正苦于以下问题:Python migrations.AddIndex方法的具体用法?Python migrations.AddIndex怎么用?Python migrations.AddIndex使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在django.db.migrations的用法示例。


在下文中一共展示了migrations.AddIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_indexes_ignore_swapped

# 需要导入模块: from django.db import migrations [as 别名]
# 或者: from django.db.migrations import AddIndex [as 别名]
def test_indexes_ignore_swapped(self):
        """
        Add/RemoveIndex operations ignore swapped models.
        """
        operation = migrations.AddIndex('Pony', models.Index(fields=['pink'], name='my_name_idx'))
        project_state, new_state = self.make_test_state('test_adinigsw', operation)
        with connection.schema_editor() as editor:
            # No database queries should be run for swapped models
            operation.database_forwards('test_adinigsw', editor, project_state, new_state)
            operation.database_backwards('test_adinigsw', editor, new_state, project_state)

        operation = migrations.RemoveIndex('Pony', models.Index(fields=['pink'], name='my_name_idx'))
        project_state, new_state = self.make_test_state("test_rminigsw", operation)
        with connection.schema_editor() as editor:
            operation.database_forwards('test_rminigsw', editor, project_state, new_state)
            operation.database_backwards('test_rminigsw', editor, new_state, project_state) 
开发者ID:denisenkom,项目名称:django-sqlserver,代码行数:18,代码来源:test_operations.py

示例2: test_add_index

# 需要导入模块: from django.db import migrations [as 别名]
# 或者: from django.db.migrations import AddIndex [as 别名]
def test_add_index(self):
        """
        Test the AddIndex operation.
        """
        project_state = self.set_up_test_model("test_adin")
        msg = (
            "Indexes passed to AddIndex operations require a name argument. "
            "<Index: fields='pink'> doesn't have one."
        )
        with self.assertRaisesMessage(ValueError, msg):
            migrations.AddIndex("Pony", models.Index(fields=["pink"]))
        index = models.Index(fields=["pink"], name="test_adin_pony_pink_idx")
        operation = migrations.AddIndex("Pony", index)
        self.assertEqual(operation.describe(), "Create index test_adin_pony_pink_idx on field(s) pink of model Pony")
        new_state = project_state.clone()
        operation.state_forwards("test_adin", new_state)
        # Test the database alteration
        self.assertEqual(len(new_state.models["test_adin", "pony"].options['indexes']), 1)
        self.assertIndexNotExists("test_adin_pony", ["pink"])
        with connection.schema_editor() as editor:
            operation.database_forwards("test_adin", editor, project_state, new_state)
        self.assertIndexExists("test_adin_pony", ["pink"])
        # And test reversal
        with connection.schema_editor() as editor:
            operation.database_backwards("test_adin", editor, new_state, project_state)
        self.assertIndexNotExists("test_adin_pony", ["pink"])
        # And deconstruction
        definition = operation.deconstruct()
        self.assertEqual(definition[0], "AddIndex")
        self.assertEqual(definition[1], [])
        self.assertEqual(definition[2], {'model_name': "Pony", 'index': index}) 
开发者ID:denisenkom,项目名称:django-sqlserver,代码行数:33,代码来源:test_operations.py

示例3: test_add_index_state_forwards

# 需要导入模块: from django.db import migrations [as 别名]
# 或者: from django.db.migrations import AddIndex [as 别名]
def test_add_index_state_forwards(self):
        project_state = self.set_up_test_model('test_adinsf')
        index = models.Index(fields=['pink'], name='test_adinsf_pony_pink_idx')
        old_model = project_state.apps.get_model('test_adinsf', 'Pony')
        new_state = project_state.clone()

        operation = migrations.AddIndex('Pony', index)
        operation.state_forwards('test_adinsf', new_state)
        new_model = new_state.apps.get_model('test_adinsf', 'Pony')
        self.assertIsNot(old_model, new_model) 
开发者ID:denisenkom,项目名称:django-sqlserver,代码行数:12,代码来源:test_operations.py

示例4: test_remove_index_state_forwards

# 需要导入模块: from django.db import migrations [as 别名]
# 或者: from django.db.migrations import AddIndex [as 别名]
def test_remove_index_state_forwards(self):
        project_state = self.set_up_test_model('test_rminsf')
        index = models.Index(fields=['pink'], name='test_rminsf_pony_pink_idx')
        migrations.AddIndex('Pony', index).state_forwards('test_rminsf', project_state)
        old_model = project_state.apps.get_model('test_rminsf', 'Pony')
        new_state = project_state.clone()

        operation = migrations.RemoveIndex('Pony', 'test_rminsf_pony_pink_idx')
        operation.state_forwards('test_rminsf', new_state)
        new_model = new_state.apps.get_model('test_rminsf', 'Pony')
        self.assertIsNot(old_model, new_model) 
开发者ID:denisenkom,项目名称:django-sqlserver,代码行数:13,代码来源:test_operations.py


注:本文中的django.db.migrations.AddIndex方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。