自定义delete_为post和pre操作选择的modeladmin操作。
django-custom_delete_selected的Python项目详细描述
djangodelete_selected不允许在ModelAdmin中执行操作 在从中删除对象之前和之后添加操作 默认情况下为数据库。
问题
使用queryset的delete方法的默认delete_selected操作 所以需要使用pre_delete和post_delete信号。
溶液
Disabledelete_selected对所有应用程序和 模特,但对一些模特来说这太疯狂了。
安装
安装软件包的最简单方法是使用pip!
您可以从pypi安装(对于django==1.4):
$ pip install django-custom_delete_selected
或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
或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
或来源:
$ git clone https://github.com/saippuakauppias/django-custom_delete_selected.git $ cd django-custom_delete_selected $ python setup.py install
用法
导入custom_delete_selected.admin.CustomDeleteSelected以扩展 modeladmin类并重写delete_model方法。 例如:
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
此代码允许扩展删除一个对象(从更改表单中删除时) 和相同的对象(从更改列表中删除时)。
贡献
您可以随意在github上发送fork、pull请求或报告bug和问题。