Всем привет !
Есть миксин ? обеспечивающий возможность добавлять право на просмотр объектов в админке django.
Использовал в нескольких моделях. Не получается использовать с UserAdmin.
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth import get_user_model
class AdminMixin(admin.ModelAdmin):
def has_change_permission(self, request, obj=None):
change_permission = super(AdminMixin, self).has_change_permission(request, obj)
if change_permission:
self.readonly_fields = AdminMixin.readonly_fields
return True
if request.user.has_perm('{}.view_{}'.format(self.model._meta.app_label, self.model._meta.object_name.lower())):
self.readonly_fields = self.model._meta.get_all_field_names()
return True
return False
UserModel = get_user_model()
class UserAdmin(BaseUserAdmin, AdminMixin):
pass
admin.site.unregister(UserModel)
admin.site.register(UserModel, UserAdmin)