我的代理用户模型模型的权限创建不佳。
在我的“客户”应用中,我有:
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 |客户帐户|可以添加客户帐户
而不是:
客户|客户帐户|可以添加客户帐户
我手动更改了数据库上权限的内容类型,但它有效,但为什么不按照我期望的方式创建?这是一个错误还是我错了?
由于
答案 0 :(得分:1)
这是Django中的已知错误。 https://code.djangoproject.com/ticket/11154
您可以自己插入它们,也可以使用post_syncdb处理程序,如果再次遇到这种情况。