Django Admin Cookbook-14如何在Django Admin后台移除“删除所选”操作

14.如何在Django Admin后台移除“删除所选”操作?

默认情况下,Django Admin后台的listview模型列表页,会有一个Delete Selected删除所选操作。假设你需要再从Hero管理模型中移除该删除操作。

ModelAdmin.get_actions方法可以返回所有的操作方法。通过覆盖此方法,移除其中delete_selected方法,便可可以从下拉列表中删除它。将Hero管理模型的代码修改如下:

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

修改后,Admin后台效果如下:

你还可以参考如何删除模型的“添加”/“删除”按钮?

返回目录

原文地址:https://www.cnblogs.com/superhin/p/12174473.html

时间: 2024-10-13 12:15:49

Django Admin Cookbook-14如何在Django Admin后台移除“删除所选”操作的相关文章

Django Admin Cookbook 中文版

英文原版 链接 http://books.agiliq.com/projects/django-admin-cookbook/en/latest/ Django Admin Cookbook-如何定制和使用Django Admin管理后台 这是一本关于如何使用和定制Django Admin管理后台的书,它采用了我们所回答的,大约40个常见问题和基本任务的方式编写. 这些章节基于一组通用Django模型来讲解,你可以在此处详细阅读(本书中使用的模型). 简单的说,我们建立了两个Django应用,分

Django Admin Cookbook-8如何在Django admin中优化查询

8.如何在Django admin中优化查询? 如果你的Admin后台中有很多计算字段,那么你需要对每个对象运行多个查询,这会使你的Admin后台变得非常慢.要解决此问题,你可以重写管理模型中的get_queryset方法使用annotate聚合函数来计算相关的字段. 以下示例为Origin模型的中ModelAdmin管理模型: @admin.register(Origin) class OriginAdmin(admin.ModelAdmin): list_display = ("name&q

Django Admin Cookbook-23如何在Django admin中添加嵌套的内联

23.如何在Django admin中添加嵌套的内联? 假设我们定义了以下模型: class Category(models.Model): ... class Hero(models.Model): category = models.ForeignKey(Catgeory) ... class HeroAcquaintance(models.Model): hero = models.OneToOneField(Hero, on_delete=models.CASCADE) ... 你想拥有

Django:创建用户模型报错: (admin.E108) The value of 'list_display[4]'解决方案

参考资料:虫师-<web接口开发与自动化测试:基于python语言> 日常学习Django框架中,创建了用户模型,但是页面功能验证时候,提示不能进行列表字段操作,debug好久,才找到问题原因,心累... 下面是大概过程和解决方案... models.py文件代码: 1 from django.db import models 2 3 # Create your models here. 4 # 发布会表 5 class Event(models.Model): 6 name = models

Django 2.0 学习(05):Django Admin

Django Admin 站点的管理者,而非访问者. 创建admin用户 首先,执行下面命令: python manage.py createsuperuser 其次,输入用户名和密码: Username:admin 在输入用户名之后,会提示输入邮箱地址,随便输入即可: Email address:[email protected] 最后,输入密码(最好使用数字和字符的组合,不然会被提示密码过于简单): Password: ********** Password (again): *******

如何在django中设置用邮箱也可以登录?

首先在view.py中构建一个类集成ModelBackend,在这个类里重写authenticate,通过Q添加邮箱验证的方式. from django.contrib.auth.backends import ModelBackendfrom django.db.models import Q class CustomBackend(ModelBackend): def authenticate(self, username=None, password=None, **kwargs): tr

django 的分页器Paginator ,从django中导入类

先创建表,然后生成批量数据. 在models文件里 from django.db import models # Create your models here. class Book(models.Model): name = models.CharField(max_length=32) price = models.DecimalField(max_digits=5,decimal_places=2) 然后执行python manage.py makemigrations   ,pytho

Django打造在线教育平台_day_3: 搭建后台管理系统Xadmin

xadmin是比Django自带的admin更加强大的系统 1.安装xadmin的两种方式: 方式一:pip install xadmin 方式二:github下载最新的源码(推荐,因为功能最新) 2.方式一安装:虚拟环境下 pip install xadmin python3的环境安装xadmin时,直接pip install xadmin出现 README.rst这个文件的编码有问题,可以内容没什么重要的,可以直接到github上下载安装包,然后新建一个txt空文件,把文件名改成README

django 指令  基于the django book

django-admin startproject mysite       create a django python manage.py runserver 运行服务器. python manage.py shell 运行类似ipython,这种方式一些配置才可生效. 连接数据库之前需要创建一个数据库,创建时要指定字符集并指定数据库权限,用户名密码.然后把相关信息载入django的配置文件中.重点是数据库自身的配置(独立于django),django相对与django的配置. python