Джанго - Как вызвать метод delete_selected ()? - PullRequest
1 голос
/ 14 ноября 2010
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 Ответ

2 голосов
/ 14 ноября 2010

Действие ожидает экземпляр ModelAdmin, а не класс.self это то, что нужно пройти здесь.

...