2011-01-28 65 views

回答

0

我最终什么事做在写我自己的自定义删除利用我的自定义删除方法,而不是使用的查询集的批量删除

行动
class MyModelAdmin(admin.ModelAdmin): 
    actions = ['custom_delete_selected',] 

    def get_actions(self, request): 
     actions = super(MyModelAdmin, self).get_actions(request) 
     del actions['delete_selected'] 
     return actions 

    def custom_delete_selected(self, request, queryset): 
     #Meant to cancel the default delete operation in admin page 
     #so that the system uses the model's delete method instead of queryset.delete 
     for obj in queryset: 
      obj.delete("param1", "param2") 

     if queryset.count() == 1: 
      message_bit = "1 item was" 
     else: 
      message_bit = "%s items were" % queryset.count() 
     self.message_user(request, "%s successfully deleted." % message_bit) 

    custom_delete_selected.short_description = "Delete selected items" 
-1

你需要使用Django 1.3具有delete_model方法有3个参数

+0

这并没有真正回答这个问题。如上所述,在问题“我使用的版本仍然没有delete_model,所以我不能使用它” – domino 2011-07-07 10:14:43

相关问题