【问题标题】:CommandError: The permission codename 'change_mymodel' clashes with a builtin permission for model 'myapp.MyModel'CommandError:权限代号“change_mymodel”与模型“myapp.MyModel”的内置权限冲突
【发布时间】:2013-08-12 14:15:59
【问题描述】:

我将我的应用程序从 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 上运行良好。

更新

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

【问题讨论】:

    标签: django django-south


    【解决方案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
    

    不太好,但可以。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 我更新了问题。这个问题很老了,几个月以来我一直没有。门票四年后固定...
      猜你喜欢
      • 1970-01-01
      • 2019-09-15
      • 1970-01-01
      • 1970-01-01
      • 2020-07-02
      • 2014-08-25
      • 2015-12-23
      • 2019-03-19
      • 1970-01-01
      相关资源
      最近更新 更多