Tengo una aplicación django en la que quiero deshabilitar la eliminación del usuario en el administrador. Intenté desactivar las acciones y configurar el permiso de eliminación en falso. Pero ninguno de ellos funcionó.Administrador de Django - Deshabilitar la eliminación del usuario
from django.contrib.auth.models import User
class UserProfileAdmin(UserAdmin):
actions = None
O
def has_delete_permission(self, request):
return False
O
def get_actions(self, request):
actions = super(UserProfileAdmin, self).get_actions(request)
if 'delete_selected' in actions:
del actions['delete_selected']
return actions
admin.site.unregister(User)
admin.site.register(User, UserProfileAdmin)
Pero cuando estoy usando el UserAdmin añadir una línea a la información del usuario, que está funcionando bien. Así que sugiéreme una forma de desactivar la eliminación del usuario en django admin. Gracias por adelantado.
Está anulando 'has_add_permission' para deshabilitar la eliminación? Además, es mejor desactivar la acción de eliminación globalmente y agregarla explícitamente donde sea que se requiera – okm
Lo siento. En realidad es 'has_delete_permission'. Cometí un error aquí. Y sobre la desactivación de la acción de eliminación, todo el sitio es una buena idea. Pero cuando abrimos una entrada de usuario, habrá una opción de eliminar en la fila de envío (fila del botón Guardar). ¿Cómo deshabilitarlo? – arulmr