不要为 Django 模型应用现有迁移
Posted
技术标签:
【中文标题】不要为 Django 模型应用现有迁移【英文标题】:Don't apply existing migrations for a Django model 【发布时间】:2017-03-20 12:19:26 【问题描述】:我需要告诉 Django 不要为模型应用已经存在的迁移。有什么方法可以实现吗?
为什么:我在 django.contrib.auth
之上进行了一些自定义。有了这些,Group
模型将被闲置。但是,它的迁移包含在 auth 应用程序中。与User
不同,Group
不是swappable
。
【问题讨论】:
【参考方案1】:您可以设置MIGRATION_MODULES
,django 将使用设置目录中的迁移应用程序
MIGRATION_MODULES = 'django.contrib.auth': 'local_package'
【讨论】:
太好了,谢谢!【参考方案2】:您可以简单地编辑迁移文件。 因此,只需将您不想应用的部分注释掉即可。
您也可以将您的模型设置为 managed=False
,但我不确定这是否是您需要的。
【讨论】:
编辑迁移可能是一种选择,它们是否属于我。但是它们在django.contrib.auth
,因此我不想拥有自己的带有django分支的存储库:(Meta
中的managed=False
阻止创建迁移。
我没有看到问题。请更清楚地描述您拥有什么以及您想要什么。
问题是这样的:github.com/django/django/tree/master/django/contrib/auth/… 这些迁移是 Django 附带的。当我需要在生产环境中部署我的项目时,我会从 pip 安装 Django。以上是关于不要为 Django 模型应用现有迁移的主要内容,如果未能解决你的问题,请参考以下文章
如何使用现有模型和迁移恢复 Django 项目的转储数据库备份?
将现有 auth.User 数据迁移到新的 Django 1.5 自定义用户模型?
如何使用 Python 迁移将 Heroku Django 应用程序的新模型表添加到远程 Heroku Postgres?