[pyar] [django] Quitar accion del admin
Martin Alderete
malderete en gmail.com
Jue Sep 25 21:07:46 ART 2014
Si lo desabilitas globalmente para habilitarlo en un modelo hacete tu clase
modeladmin y dentro de actions = ['delete_selected'] con eso debería
estar.
Saludos
El sep 25, 2014 8:55 PM, "Daniel" <dmlistapython en gmail.com> escribió:
> Bien, si doy vuelta la pregunta completo lo que buscaba y puedo safar
>
> suponiendo que hago admin.site.disable_action('delete_selected')
> como hago un "enabled" del delete en determinado modelo?
>
>
>
> El 25 de septiembre de 2014, 20:14, Martin Alderete <malderete en gmail.com>
> escribió:
>
>> Hola! Como estas?
>>
>> Si, eso saca el delete de todo el admin.
>>
>> Hay varias formas de lograr lo que queres y depende de lo que estas
>> haciendo etc,
>> una opcion es hacer algo como:
>>
>> class AlgunModelAdmin(admin.ModelAdmin):
>> actions = ['action1', 'action2', .......'actionN']
>>
>> El tema es que aca tenes que poner las acciones que SI QUERES, si tenes
>> muchas es medio feo este approach.
>>
>>
>> Otra forma un poco mas versatil es.
>>
>> class AlgunModelAdmin(admin.ModelAdmin):
>> """
>> Mixin para desabilitar algunas acciones
>> """"
>> def get_actions(self, request):
>> actions = super(AlgunModelAdmin, self).get_actions(request)
>> # eliminamos el delete
>> if 'delete_selected'' in actions:
>> del actions['delete_selected']
>> return actions
>>
>>
>> y generalizando esta idea podes tener algo como....
>>
>>
>> class ModelAdminNoDeleteMixin(object):
>> def get_disable_actions(self, request):
>> return []
>>
>> def get_actions(self, request):
>> actions = super(ModelAdminNoDeleteMixin,
>> self).get_actions(request)
>> for act_name in self.get_disable_actions(request):
>> del actions[act_name]
>> return actions
>>
>> class AlgunModelAdmin(ModelAdminNoDeleteMixin, admin.ModelAdmin):
>> def get_disable_actions(self, request):
>> return ('delete_selected', )
>>
>> Bueno, espero que te sirva y se entienda.... no probe el codigo asi que
>> puede haber typos :), cualquier duda consulta :).
>>
>> Aca te dejo la doc de Django por las dudas,
>> https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#disabling-actions
>>
>> Saludos!
>>
>>
>>
>>
>> 2014-09-25 17:11 GMT-03:00 Daniel <dmlistapython en gmail.com>:
>>
>>> si hago esto
>>> admin.site.disable_action('delete_selected')
>>>
>>> deshabilito el borrado para todo el sitio
>>>
>>> ¿cómo puedo hacer esto para determinados modelos nomás?
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> pyar mailing list pyar en python.org.ar
>>> http://listas.python.org.ar/listinfo/pyar
>>>
>>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>>
>>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>>> Argentina - http://www.usla.org.ar
>>>
>>
>>
>>
>> --
>> Martin Alderete
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Daniel Malisani
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20140925/07d1143c/attachment-0001.html>
More information about the pyar
mailing list