Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Customization of delete_selected ModelAdmin action for post and pre operations.

branch: django_v1.4

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 custom_delete_selected
Octocat-spinner-32 .gitignore
Octocat-spinner-32 LICENSE
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 setup.py
README.rst

Custom delete_selected action

Django delete_selected action in ModelAdmin not allow you to add operations before and after deleting objects from database by default.

Problem

Default delete_selected action using delete method of queryset so need to use pre_delete and post_delete signals.

Solution

Disable delete_selected action for all applications and models, but for some models this is crazy.

Installing

The easiest way to install package is with pip!

You can install from PyPI (for Django==1.4):

$ pip install django-custom_delete_selected

Or GitHub for Django==1.4:

$ pip install -e git+https://github.com/saippuakauppias/django-custom_delete_selected.git@django_v1.4#egg=custom_delete_selected

Or GitHub for Django==1.3.x:

$ pip install -e git+https://github.com/saippuakauppias/django-custom_delete_selected.git@django_v1.3.x#egg=custom_delete_selected

Or from source:

$ git clone https://github.com/saippuakauppias/django-custom_delete_selected.git
$ cd django-custom_delete_selected
$ python setup.py install

Usage

Import custom_delete_selected.admin.CustomDeleteSelected to extend ModelAdmin class and override delete_model method. For example:

from django.contrib import admin
from custom_delete_selected.admin import CustomDeleteSelected


class MyModelAdmin(CustomDeleteSelected, admin.ModelAdmin):

    # your code

    def delete_model(self, request, obj):
        # pre delete operations
        super(MyModelAdmin, self).delete_model(request, obj)
        # post delete operations

This code allow extends you deleting one object (when delete from change_form) and same objects (when delete from change_list).

Contributing

Feel free to fork, send pull requests or report bugs and issues on github.

[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/saippuakauppias/django-custom_delete_selected/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Something went wrong with that request. Please try again.