Django的数据迁移问题

执行命令:

python manage.py makemigrations appname

python manage.py migrate appname

但是执行命令后二者都没有报错,但是数据库里并未生成对应表

原因一:

可能django默认表中django_migrations未删除该appname字段

原因二:

model里定义managed = False

最终把这个问题翻译成英文,在stackoverflow上搜到了答案: 数据model是我在公司通过数据库反向生成的,所以在class Meta 类中会有字段managed=False, 官方文档对这个字段的解释是"If False, no database table creation or deletion operations will be performed for this model.",之前建立视图也是将这个字段改为False, 所以在迁移到另一个数据库的时候不会生成表,于是将managed设置为True就完美解决了这个问题。

更多推荐