我们说我有一个名为students
的应用,我的model.py中有一个多类(Class1, Class2,...
)。当我运行python manage.py migrate
时,它将在我的数据库中创建一个新表(students_class1,students_class2,...)。
现在,我的问题是,迁移应用时是否可以跳过特定的课程?就像我不想创建一个名为students_class2
谢谢!
答案 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
来选择合适的表名。