Переопределить действия, определенные в родительском классе Django admin - PullRequest
0 голосов
/ 17 апреля 2020

Я обновляю Django проект с Django 1.11. Я успешно обновил проект до Django 2.1. Когда я обновился до Django 2.2, я получил это сообщение об ошибке "(admin.E130) name атрибуты действий, определенных в классе AdimClass (не настоящее имя), должны быть уникальными"

классы администратора:

class AAdmin(admin.ModelAdmin)

    def custom_action(self, request, queryset):
        # perform  custom action
        .....

    def custom_action_2(self, request, queryset):
        # another custom actions
        .....


    action = [custom_action, custom_action_2]


class BAdmin(AAdmin):

    def custom_action(self, request, queyrset):
        # performs different actions but has the same name as AAdmin action
        .....
    actions = AAdmin.actions + [custom_action]

проблема: (admin.E130) имя атрибуты действий, определенных в классе AdimClass (не настоящее имя), должны быть уникальными

Если я удаляю custom_action из AAdmin , ошибка устраняется, но действие больше не доступно для других классов, которые наследуют AAdmin .

Цель: сохранить действие в родительском классе AAdmin и переопределить его в дочернем классе BAdmin .

Примечание: Код работает штраф до Django 2,1.

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