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):
所有错误现在都消失了。但没有一个对象被删除。这个动作总是说'没有选择对象'。有什么建议吗?
答案 0 :(得分:2)
该操作需要一个ModelAdmin实例,而不是一个类。 self
是通过这里的正确方法。