我正在从 Django 1.11 升级一个 Django 项目。我已成功将项目升级到 Django 2.1。当我升级到 Django 2.2 时,我收到此错误消息“(admin.E130)类 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, queryset):
# performs different actions but has the same name as AAdmin action
.....
actions = AAdmin.actions + [custom_action]
问题:(admin.E130)类AdimClass(非实名)中定义的动作的名称属性必须是唯一的
如果我从 AAdmin 中删除custom_action ,则错误已解决,但该操作对于继承AAdmin的其他类不再可用。
目标:将操作保留在父类AAdmin中,并在子类BAdmin上覆盖它。
注意:代码在 Django 2.1 之前运行良好。