DJango迁移课程

时间:2015-07-23 05:43:41

标签: python django

我们说我有一个名为students的应用,我的model.py中有一个多类(Class1, Class2,...)。当我运行python manage.py migrate时,它将在我的数据库中创建一个新表(students_class1,students_class2,...)。

现在,我的问题是,迁移应用时是否可以跳过特定的课程?就像我不想创建一个名为students_class2

的表格一样

谢谢!

1 个答案:

答案 0 :(得分:2)

您可能在模型的Meta课程中寻找managed

根据文件:

  

如果为False,则不会对此模型执行数据库表创建或删除操作。如果模型表示通过其他方式创建的现有表或数据库视图,则此选项非常有用。当managed = False时,这是唯一的区别。模型处理的所有其他方面与正常情况完全相同。

如果您已经创建了迁移,请将'managed': False添加到CreateModel的选项中:

from django.db.migrations import Migration as DjangoMigration, CreateModel


class Migration(DjangoMigration):
    operations = [
        CreateModel(
            name='ModelName',
            fields=[
                # Model's fields.
            ],
            options={
                # Other options.
                'managed': False
            }
        )
    ]

另外,请考虑使用db_table来选择合适的表名。