django 中的自定义删除操作管理类

问题描述 投票:0回答:1

我想自定义删除操作管理类,并覆盖 admin.py 中的删除函数,但它不起作用! 这是错误: ID为“”的帖子不存在。难不成被删了?

我在以下站点阅读并使用了此代码,但它不起作用:

我使用的网站

class PostAdmin(admin.ModelAdmin):
    list_display = ('delete',)
    def delete(self, obj):
        view_name = "admin:{}_{}_delete".format(obj._meta.app_label, obj._meta.model_name)
        link = reverse(view_name, args=[Post.id])
        html = '<input type="button" onclick="location.href=\'{}\'" value="Delete" />'.format(link)
        return format_html(html)
python-3.x django django-models django-admin
1个回答
0
投票

使用

obj.id
,而不是
Post.id

class PostAdmin(admin.ModelAdmin):
    list_display = ('delete',)

    def delete(self, obj):
        view_name = 'admin:{}_{}_delete'.format(
            obj._meta.app_label, obj._meta.model_name
        )
        link = reverse(view_name, args=[obj.id])
        return format_html(
            '<input type="button" onclick="location.href=\'{}\'" value="Delete" />',
            link,
        )
© www.soinside.com 2019 - 2024. All rights reserved.