目前我有这个用户代理模型:
class UserProxy(User):
class Meta:
verbose_name = 'Staff'
verbose_name_plural = 'Staffs'
proxy = True
在管理员方面,我有以下管理员:
class StaffAdmin(UserAdmin):
def get_queryset(self, request):
qs = super(StaffAdmin, self).get_queryset(request)
return qs.filter(is_staff=True)
exclude = ('first_name', 'last_name',)
def save_model(self, request, obj, form, change):
if request.user.is_superuser:
obj.is_staff = True
obj.save()
admin.site.register(UserProxy, StaffAdmin)
当我在管理员上使用任何形式的代理模型时,它会返回以下错误:
“在‘UserProxyForm’中找不到键‘first_name’。选项有:date_joined、email、groups、is_active、is_staff、is_superuser、last_login、password、user_permissions、username。”
我认为这很奇怪,我试图只排除is_staff,现在它返回:
“在‘UserProxyForm’中找不到键‘is_staff’。选项有:date_joined、email、first_name、groups、is_active、is_superuser、last_login、last_name、password、user_permissions、username。”
为什么会这样?代理模型不应该包含基本模型中的所有字段吗?
慕尼黑的夜晚无繁华
相关分类