我有一个包含大量数据的模型,Django很长时间都会创建删除确认页面。我必须跳过此过程并删除数据而不进行任何确认。我已经尝试了一些来自互联网的解决方案,但它不起作用 - 我仍然看到确认页面。
任何人都知道怎么做?
答案 0 :(得分:3)
def delete_selected(modeladmin, request, queryset):
queryset.delete()
class SomeAdmin(admin.ModelAdmin):
actions = (delete_selected,)
答案 1 :(得分:0)
Django 2.1 released是新的ModelAdmin方法get_deleted_objects,该方法允许在确认屏幕上为一次和多次删除(例如,使用delete操作)指定参数。
就我而言,我想删除具有多个关系的对象列表,但是设置了级联删除。我最终得到了这样的东西:
def get_deleted_objects(self, objs, request):
deleted_objects = [str(obj) for obj in objs]
model_count = {MyModel._meta.verbose_name_plural: len(deleted_objects)}
perms_needed = []
protected = []
return (deleted_objects, model_count, perms_needed, protected)
我可以在model_count字典中包括其他模型,例如,仅获取计数,以避免仍然列出我不需要单独查看的数千个次要实例。