CommandError:权限代码'change_mymodel'与模型'myapp.MyModel'的内置权限冲突

时间:2013-08-12 14:15:59

标签: django django-south

我将我的应用程序从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。

更新

这个问题已经过去了,几个月后我就没有了。这张票已经修好了四年......

2 个答案:

答案 0 :(得分:2)

您是否定义了名称与#34相关的自定义权限;添加_","更改_"或"删除_"?

如果是,则这些权限会与记录在案here的默认权限冲突。

在这种情况下: 删除自定义权限并使用默认权限或重命名自定义权限,以便它们不会与默认权限冲突。

答案 1 :(得分:0)

我自己找到了解决方案

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

不好,但有效。