我需要在 django contrib.auth 应用程序中向组模型添加几个字段:
field_name = models.CharField(...)
field_name.contribute_to_class(Group, 'field_name')
我的问题是在使用 South 创建迁移时,因为它们是在 auth 应用程序内的“迁移”目录中创建的,并且由于系统已经在生产中,所以我不允许更改当前的 django 安装服务器以迁移auth。
有谁知道如何创建和加载此类迁移?
预先感谢您的帮助。
请您参考如下方法:
Django 并没有让修改标准模型变得特别容易。我不建议您对 Group 进行子类化,因为获取内置功能来引用新模型非常烦人。
这里通常要做的是创建一个 GroupProfile 模型,它有一个 Group 作为唯一的外键。它可能不优雅,但不会有 fork Django 源代码带来的巨大维护开销。
此外:如果您不能修改服务器上的 Django 代码,您将无法使用原始 SQL 黑客或巧妙的迁移来完成此操作。 South 不会成为问题——问题是 Django ORM 会注意到 SQL 表中存在代码中未指定的字段,这将导致它抛出异常。
