使迁移与可交换模型一起工作。
swapif的Python项目详细描述
在django社区引入定制用户模型之后,它拥有了 它值得关注,越来越多的可重用应用程序正在提供 支持自定义用户模型。
我过去一直在使用django-oscar及其许多扩展 两年。oscar在其0.6版本中增加了对自定义用户模型的支持 而django-fancypages甚至超越了这一点,利用了the (hidden) swappable API。
对于那些 可交换,提供兼容的南部迁移。在过去的几个月里, 我已经接触了足够多的迁移,并将auth.User替换为 AUTH_USER_MODEL对此感到恼火并自动处理这种情况。
看swapify,一个小的命令行工具,它修复了 您选择的可交换模型(一次打开)。它检查你的迁移 文件可供交换,并在需要时更新迁移。
这是我根据自己的经验做的第一次尝试。可能有人发现了 基础和潜在的改进…所以反馈是非常受欢迎的。
享受吧!
安装
您可以安装pypi的最新版本:
pip install swapify
或者从github安装最新的开发版本:
pip install https://github.com/elbaschid/swapify/archive/master.tar.gz
用法
获取需要修复的目录中的所有迁移列表:
swapify list myproject/ --model auth.User
更新所有迁移以使用交换的模型:
swapify apply myproject/ --model auth.User
您还可以测试更新文件并在stdout:
swapify apply myproject/ --model auth.User --dry-run
对于非常定制的型号,您甚至可以这样做:
swapify apply myproject/ --model swap.Swappable --var-name MYSWAP_SWAPPABLE_MODEL
许可证
swapify在麻省理工学院许可证下可用。