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.
Release files for django-custom_delete_selected 0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-custom_delete_selected-0.1.tar.gz | 4.1 kB | Details |
Release files / django-custom_delete_selected-0.1.tar.gz
| Download URL | django-custom_delete_selected-0.1.tar.gz |
|---|---|
| Size | 4.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
700827bfd4ef9253c83c699ce9018461cfe3cb45c34d53573df4614d72933ed0
|
|
BLAKE2b-256 checksum How to use checksums |
a8d112c9f92e33dcbb388d75d2b57d6727c981ee40214962e95582159ad107b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |