Python 在./manage.py迁移时忽略现有表
当存在一个现有表时,我对Django的迁移特性有一个疑问Python 在./manage.py迁移时忽略现有表,python,django,database,migrate,manage.py,Python,Django,Database,Migrate,Manage.py,当存在一个现有表时,我对Django的迁移特性有一个疑问 ContentData ContentType Faq UserLog TB_TEAM_INF 当我尝试执行“/manage.py migrate”以便它可以从models.py创建上面的5个表时,我收到一条错误消息,因为存在一个表TB\u TEAM\u INF 由于TB_TEAM_INF是另一个团队正在使用的表,因此我无法删除该表。由于项目的限制,我也不能使用单独的数据库。在本例中,我像0001_initial.py一样打开迁移文件,
ContentData
ContentType
Faq
UserLog
TB_TEAM_INF
当我尝试执行“/manage.py migrate”以便它可以从models.py创建上面的5个表时,我收到一条错误消息,因为存在一个表TB\u TEAM\u INF
由于TB_TEAM_INF是另一个团队正在使用的表,因此我无法删除该表。由于项目的限制,我也不能使用单独的数据库。在本例中,我像0001_initial.py一样打开迁移文件,并在迁移过程中临时手动删除模型对象TB_TEAM_INF
当“/manage.py migrate”而不是手动编辑迁移文件时,是否有更好的方法忽略现有表
我尝试使用./manage.py migrate使用--exclude=TB\u TEAM\u INF或--ignore=TB\u TEAM\u INF选项,但这些选项似乎不被接受。我正在使用Django 1.7.2。将选项添加到模型定义中:
class TB_TEAM_INF(models.Model):
...
class Meta:
managed = False
文件摘录:
如果为False,则不会对此模型执行任何数据库表创建或删除操作
这太棒了!非常感谢你的好意,卡塔瓦兰。是的,它很管用。要更新字段,我必须添加
makemigrations;迁移--运行syncdb
。