4

我将我的应用程序从 django1.3 升级到 django1.5,并收到此错误:

CommandError: The permission codename 'change_mymodel' clashes with a builtin permission  for model 'myapp.MyModel'

相关提交https://github.com/django/django/commit/8c427448d53ec0d860e1669f35deed73d0240ba1

相关票证:https ://code.djangoproject.com/ticket/15915

该代码适用于 django1.3。

更新

这个问题很老了,几个月以来我一直没有。门票是四年后固定的...

4

2 回答 2

4

您是否定义了名称以“add_”、“change_”或“delete_”开头的自定义权限?

如果是,则这些权限与此处记录的默认权限冲突。

在这种情况下:删除您的自定义权限并使用默认权限或重命名您的自定义权限,以免与默认权限发生冲突。

于 2016-10-16T04:58:33.503 回答
1

我自己找到了解决方案

def _check_permission_clashing(custom, builtin, ctype):
    pass

class Migration(DataMigration):

    def forwards(self, orm):
        ...
        from django.contrib.auth import management
        management._check_permission_clashing=_check_permission_clashing

不好,但有效。

于 2014-06-17T09:33:39.647 回答