Django - 如何调用delete_selected()方法?

时间:2010-11-14 08:06:46

标签: django django-admin

from django.contrib.admin.actions import delete_selected
from Test.app.models import Post
from django.contrib import admin

class PostModelAdmin(admin.ModelAdmin):
    fields= ('gender',)
    list_display = ('gender',) 

    def mark_deleted(self, request, queryset):
         print "deleted"
         return delete_selected(self, request, queryset)

actions = [mark_deleted,]

admin.site.register(Post, PostModelAdmin)

我刚刚调用了默认的批量删除功能。它会产生以下错误。

Exception Type: AttributeError
Exception Value:    
'PostModelAdmin' object has no attribute 'model'

我需要为'modeladmin'属性传递什么?

def delete_selected(modeladmin,request,queryset):

新问题

所有错误现在都消失了。但没有一个对象被删除。这个动作总是说'没有选择对象'。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

该操作需要一个ModelAdmin实例,而不是一个类。 self是通过这里的正确方法。