新应用程序中代理模型的权限没有很好地创建?

时间:2013-12-09 22:35:54

标签: django

我的代理用户模型模型的权限创建不佳。

在我的“客户”应用中,我有:

models.py文件:

from django.contrib.auth.models import User

class Customer(User):
    class Meta:
        proxy=True
        app_label = 'customers'
        verbose_name = 'Customer account'
        verbose_name_plural = 'Customer accounts'

admin.py文件:

from django.contrib.auth.models import User
from django.contrib.auth.admin import UserAdmin

class CustomerAdmin(UserAdmin):

   def queryset(self, request):
        qs = super(UserAdmin, self).queryset(request)
        qs = qs.exclude(Q(is_staff=True) | Q(is_superuser=True))
        return qs

admin.site.register(Customer, CustomerAdmin)

当我查看权限表时,我发现我的代理模型的创建权限与用户内容类型有关,而与我的代理模型的内容类型无关。 然后,我拥有管理员权限:

auth |客户帐户|可以添加客户帐户

而不是:

客户|客户帐户|可以添加客户帐户

我手动更改了数据库上权限的内容类型,但它有效,但为什么不按照我期望的方式创建?这是一个错误还是我错了?

由于

1 个答案:

答案 0 :(得分:1)

这是Django中的已知错误。 https://code.djangoproject.com/ticket/11154

您可以自己插入它们,也可以使用post_syncdb处理程序,如果再次遇到这种情况。