Django:啥时候运行makemigrations?
Posted
技术标签:
【中文标题】Django:啥时候运行makemigrations?【英文标题】:Django: When to run makemigrations?Django:什么时候运行makemigrations? 【发布时间】:2017-08-18 10:19:52 【问题描述】:除了向模型添加/删除/修改字段外,Django 还会在我向模型添加或修改方法时检测更改。
所以我的问题是每次我在模型中更改或添加新方法时我应该运行makemigrations
吗?
【问题讨论】:
【参考方案1】:当您添加/更改模型方法时,您不需要运行./manage makemigrations
和./manage.py migrate
。
但是,每当您编辑模型字段(添加新字段、更改现有字段或更改其采用的任何参数)时,您都应该始终运行迁移。
【讨论】:
【参考方案2】:首先,
./manage makemigrations
将在您的应用迁移文件夹中创建 (migration_number).py 文件。这些代码行只是有助于在各自数据库中创建实际字段的语句,类似于 SQL 语句。
为了执行使用前面命令创建的迁移,我们将运行以下命令,
./manage.py migrate
在迁移时,如果没有错误,您的新模型字段将反映在数据库中
【讨论】:
以上是关于Django:啥时候运行makemigrations?的主要内容,如果未能解决你的问题,请参考以下文章
我应该对我的所有应用程序运行 Django“makemigrations”吗?
Django 1.7 makemigrations 没有效果
makemigrations 和升级到 Django 1.7 的问题
Django:添加整数字段后在应用程序上运行 makemigrations 时出现“未知列”
django heroku makemigrations 忽略模型的变化
使用 Django-todo 时使用空数据库运行 makemigrations 时出现“OperationalError:没有这样的表:django_site”