изменить действия администратора - PullRequest
6 голосов
/ 08 апреля 2011

Как изменить действие администратора по умолчанию "delete_selected"

Ответы [ 3 ]

13 голосов
/ 08 апреля 2011

Action docs

удалить выбранное:

Если вы хотите изменить это поведение, просто напишите пользовательское действие, котороевыполняет удаление по вашему желанию - например, вызывая Model.delete () для каждого из выбранных элементов.

Это discussion имеетпример переопределения «delete_selected» для модели.Это может быть реализовано так:

class SomeModelAdmin(admin.ModelAdmin):
    actions = ['custom_delete_selected']
    def custom_delete_selected(self, request, queryset):
         #custom delete code
    custom_delete_selected.short_description = "Delete selected items"

    def get_actions(self, request):
        actions = super(SomeModelAdmin, self).get_actions(request)
        del actions['delete_selected']
        return actions 
2 голосов
/ 08 апреля 2011

http://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/#adding-actions-to-the-modeladmin

Вы можете писать собственные действия, поэтому перезапись действия delete_selected позволит вам выполнять любые необходимые вам функции (см. Окно с предупреждением в верхней части страницы, где упоминается перезапись действия delete ())

0 голосов
/ 22 декабря 2016

DOC: Отключение действий

Отключение действия для всего сайта

admin.site.disable_action('delete_selected')

В противном случае переопределить ModelAdmin.get_actions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...