首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Django Admin中筛选出或不包括模型管理多选小部件中的某些记录?

在Django Admin中,可以通过自定义筛选器来实现筛选出或不包括模型管理多选小部件中的某些记录。

首先,需要创建一个自定义筛选器类,继承自admin.SimpleListFilter。在该类中,需要实现titleparameter_namelookups方法。

  • title方法用于设置筛选器的显示名称。
  • parameter_name方法用于设置筛选器的URL参数名称。
  • lookups方法用于定义筛选器的选项,返回一个元组列表,每个元组包含两个值,分别是选项的显示名称和对应的查询条件。

以下是一个示例代码:

代码语言:txt
复制
from django.contrib import admin

class CustomFilter(admin.SimpleListFilter):
    title = 'Custom Filter'
    parameter_name = 'custom_filter'

    def lookups(self, request, model_admin):
        return (
            ('option1', 'Option 1'),
            ('option2', 'Option 2'),
        )

    def queryset(self, request, queryset):
        if self.value() == 'option1':
            return queryset.filter(field__contains='option1')
        if self.value() == 'option2':
            return queryset.filter(field__contains='option2')

接下来,在模型管理类中使用该自定义筛选器。例如,假设有一个名为MyModel的模型,可以按如下方式定义模型管理类:

代码语言:txt
复制
from django.contrib import admin
from .models import MyModel

@admin.register(MyModel)
class MyModelAdmin(admin.ModelAdmin):
    list_filter = (CustomFilter,)

这样,在Django Admin中就会显示一个名为"Custom Filter"的筛选器,用户可以选择"Option 1"或"Option 2"来筛选出或不包括相应的记录。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

35.Django2.0文档

该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示。   V:代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看作模型与模板之间的桥梁。  ...应用程序`` django.contrib.auth`` 包含自身的`` admin.py`` ,所以Users和Groups能在管理工具中自动显示。...其它的django.contrib应用程序,如django.contrib.redirects,其它从网上下在的第三方Django应用程序一样,都会自行添加到管理工具。  ...3.设置字段可选  你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的。 举个例子,我们想要Author模块中的email字段成为可选,即允许不填。...普通的活跃,非超级用户的管理用户可以根据一套设定好的许可进入。 管理界面中每种可编辑的对象(如:books、authors、publishers)都有三种权限:创建许可,编辑许可和删除许可。

11.3K100

Django管理应用程序的高级配置在BookInstance模型的运用【Django】

Django管理应用程序 Django管理应用程序可以使用的模型自动构建可用于创建、查看、更新和删除记录的站点区域。这可以在开发过程中节省大量时间,使测试模型和查看是否有正确的数据变得容易。...Django项目只建议用于内部数据管理(也就是说,仅适用于组织的管理员或内部人员),因为以模型为中心的方法不一定是所有用户的最佳界面,并且暴露了许多关于模型的不必要的细节。...python3 manage.py runserver 高级配置 Django使用注册模型信息创建基本管理站点: 每个模型都有一个单独的记录列表,由__ str__()方法创建并链接到详细视图/表单以进行编辑的字符串...添加一个筛选器,以根据日期或其他选择值(如账面付款状态)选择要列出的记录。...向列表视图中的操作菜单添加其他选项,并选择此菜单在表单上的显示位置。 详细信息视图 选择要显示(或排除)的字段、它们的顺序、分组、可编辑、要使用的小部件、方向等。

1.7K20
  • 年底总结一下Python WEB最好用的几个框架,让你有一个系统的了解

    在安装包(字面意义上的Django)之后,您必须使用“django-admin startproject myproject”命令创建一个项目。...Flask 基于Werkzeug和Jinja2的Python的微框架“好心”。作为一个微框架,Flask在开发具有简单需求的小应用程序时非常值得使用,而不像Django,Pyramid等。...例如,你可以用任何你喜欢的方式使用Flask来操作你的数据库 - 通过SQLAlchemy或其他方法。如果您打算开发一个小应用程序并自行配置一切,请使用它。...您可以在单个文件中开发应用程序,或者根据需要对其进行结构化。 Reahl 用纯Python开发Web应用程序的Web框架。有一些小部件可以在通常的Python代码中使用,定制和编写。...这些小部件描述了特定的服务器端和客户端行为。 概要 这个简洁的概述留下了最好的Python框架。尝试aiohttp或Tornado,如果你需要不同步,当你开发的东西连续连接。

    3.3K80

    37.Django1.11.6文档

    ModelAdmin.ordering 设置ordering以指定如何在Django管理视图中对对象列表进行排序。 这应该是与模型的ordering参数格式相同的列表或元组。...根据您的ModelAdmin定义,模型中的每个多对多字段将由标准HTML < select multiple> t4>,水平或垂直过滤器或raw_id_admin小部件。 ...Django在定义关系(在这种情况下,Group)的模型上显示多对多字段的管理窗口小部件。 ...如果要使用内联模型来表示多对多关系,则必须告知Django的管理员而不是显示此窗口小部件 - 否则您最终会在管理页面上看到两个窗口小部件,用于管理关系。...你甚至可以为特定的应用或一个特定的模型覆盖少量的这些模板。 设置你的项目管理模板目录 Admin模板文件位于contrib/admin/templates/admin 目录中。

    24.4K80

    flask_admin使用教程

    添加模型视图(Adding Model Views) 模型视图允许您添加一组专用的管理页面,用于管理数据库中的任何模型。...用于添加新记录的创建视图。 用于更新现有记录的编辑视图。 可选的只读详细信息视图。 有许多选项可用于自定义这些内置视图的显示和功能。...最简单的身份验证形式是HTTP基本身份验证。它不会干扰数据库模型,也不需要编写任何新的视图逻辑或模板代码。所以当你在部署一些仍在开发中的东西时,在你希望全世界都能看到它之前,它是非常好的。...如果模型中的数据太多,无法在列表视图中显示,则可以通过设置以下内容添加只读详细信息视图: can_view_details = True 从列表视图中删除列很容易,只需为列传递列名称列表“不包括...覆盖内置视图(Overriding the Built-in Views) 在某些情况下,您可能希望使用大多数内置ModelView功能,但希望替换默认的创建、编辑或列表视图之一。

    4.3K20

    【Django】 开发:数据库操作和后台管理

    后台管理的登录地址: http://127.0.0.1:8000/admin/ 注册自定义模型类 若要自己定义的模型类也能在 后台管理界中显示和管理,需要将自己的类注册到后台管理界面 添加自己定义模型类的后台管理数据表的...,需要用 方法进行注册 配置步骤如下: 1.在应用 app 中的 admin.py 中导入注册要管理的模型 models 类,如: from .models import Book 2.调用 admin.site.register...from . import models ... admin.site.register(models.Book) # 将Book类注册为可管理页面 修改自定义模型类的展现样式 在admin后台管理数据库中对自定义的数据记录都展示为...类型的记录,不便于阅读和判断 在用户自定义的模型类中可以重写 方法解决显示问题,如: 在 自定义模型类中重写 str(self) 方法返回显示文字内容: class Book(models.Model...说明: 后台管理器类须继承自 django.contrib.admin 里的 ModelAdmin 类 模型管理器的使用方法: 在 /admin.py 里定义模型管理器类 class XXXXManager

    4.1K40

    Python的Admin Panels 库详解

    我们将分析每个库的特点、功能以及如何在实际项目中进行配置和使用。什么是Admin PanelAdmin Panel,顾名思义,是一个供管理员使用的面板,通常用于管理和监控应用程序的数据和状态。...Admin Panel的功能数据管理:提供图形化界面进行数据库的增、删、改、查操作。权限管理:设定不同管理员的权限级别,确保敏感数据的安全。日志记录:记录用户的操作和系统事件,方便追踪问题和进行审计。...Django Admin通过自动化的方式为开发者生成基于模型的数据管理界面。...它通过与Django的模型系统紧密集成,自动为每个模型创建增、删、改、查的界面。Django Admin不仅提供了丰富的功能,而且能够高度自定义。...= ('name', 'date_created') admin.site.register(MyModel, MyModelAdmin)Inline Admin:使用InlineAdmin,可以在一个页面中管理相关联的模型

    1.1K10

    第一季 | 要不要创建django项目?看看都掌握了哪些快操作

    Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL 的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。 ?...第一季要开始啦,先来了解下这一季都有哪些可以回顾和用得上的小技能。...在 cmd 窗口中输入 django-admin,出现 django-admin help 提示信息,则说明本地 django 可以正常创建项目。...同样,若使用虚拟机(ubuntu/centos),都需要安装 python 和 django。被圈中为经常使用的django命令。 ? 二、本次使用 Pycharm 来创建 django 项目 ?...django admin web 管理工具 三、常用的django命令(django-admin) ① django 的基本命令 startproject # 创建 django 项目 runserver

    69710

    Django之模型---ORM简介

    ORM   ORM,是“对象-关系-映射”的简称,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动...admin 用一个部件表示该字段保存的数据(一个文件上传部件) ....注意:在一个 model 中使用 FileField 或 ImageField 需要以下步骤: (1)在你的 settings 文件中, 定义一个完整路径给 MEDIA_ROOT...(2) 在你的 model 中添加 FileField 或 ImageField, 并确保定义了 upload_to 选项,以告诉 Django 使用...(4)unique 如果该值设置为 True, 这个数据字段的值在整张表中必须是唯一的 (5)choices 由二元组组成的一个可迭代对象(例如,列表或元组),用来给字段提供选择项。

    1.5K10

    Python:Django框架

    如SEX_CHOICES=((‘F’,’Female’),(‘M’,’Male’),) db_column string 值,指定当前列在数据库中的名字,不设置,将自动采用model字段名 db_index...= ((‘定义好的权限’, ‘权限说明’),) 给数据库的表设置额外的权限 managed = False 是否按照django既定的规则来管理模型类 unique_together = (‘address...objects.filter(**kwargs) 从数据库的取得匹配的结果,返回一个对象列表,如果记录不存在的话,它会返回[] 十三、Django-后台 应用注册 若要把app应用显示在后台管理中...Blog #Blog模型的管理器 class BlogAdmin(admin.ModelAdmin): list_display=('id', 'caption', 'author',...from django.contrib import admin from blog.models import Blog #Blog模型的管理器 @admin.register(Blog) class

    4.4K40

    Django Admin后台管理:高效开发与实践

    框架自带的一个管理后台工具,它允许开发者通过一个直观的Web界面轻松地管理应用中的数据模型。...创建新记录:点击模型名称,进入编辑页面,填写字段后点击保存创建新记录。 查看、编辑和删除记录:点击列表中的记录,可以查看详细信息并进行编辑或删除操作。...2.3 字段和字段集的管理 字段管理:可以在Admin类中使用fields或fieldsets属性来控制编辑页面中字段的显示。...使用内联模型:在父模型的Admin类中添加内联模型,如inlines = [RelatedModelInline]。...用户模型:Django提供了一个默认的用户模型,包含用户名、密码和电子邮件等字段。 3.2 用户、组和权限的管理 用户管理:在Django Admin中,可以创建、编辑和删除用户。

    26010

    23.Django基础

    Django基本配置 Python的WEB框架有Django、Tornado、Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM、模型绑定、模板引擎、缓存、Session...等诸多功能 1.安装 # windows 直接用pip进行安装 pip install django # 生成的django文件加入到系统环境变量 2.创建并启动 创建 django-admin startproject...- migrations  #数据库操作记录(只是修改表结构的记录) - init      #表示python数据包(python3中有无均可) - admin      #...Django为我们提供的后台管理 - apps      #配置当前app - models     #创建数据库表结构,写指定的类,通过命令可以创建数据库结构 - tests      ...[ url(r'^admin/', admin.site.urls), url(r'^login', views.login), #添加login.html的url,后面要加逗号

    94050

    Python自动化开发学习-Django

    django amdin是django提供的一个后台管理页面,该管理页面提供完善的html和css,使得你在通过Model创建完数据库表之后,就可以对数据进行增删改查。...正确显示记录 现在添加好记录的后,看到的是 UserInfo object (1) 或 Dept object (1) 这样。这里其实和print打印出来的结果一一样的,直接显示了对象。...的后台管理页面创建用户,直接点击默认的“认证和授权”下面的“用户”表,就可以创建记录。...开启过滤器 继续在类里添加下面的属性: list_filter = ('gender', 'dept') 添加了过滤器后,右边就会出现一个过滤器的部件,也可以帮助我们筛选记录。...开发 到这里,课上要做一个自己的类似 django admin 那样的后台管理界面。

    1.8K30

    django入门:Admin管理系统及表单(干货)

    这一部分将介绍 django 自带的后台管理系统,以及如何通过表单提交数据 django admin 后台管理系统 在后台管理系统注册创建的模型 from django.contrib import admin...from blog.models import Post, Category, Tag # 在应用目录下的 admin.py 文件中,对创建的模型进行注册,可以一起用列表注册,也可以分开注册 admin.site.register..." 打开 admin 管理系统,登录的账号密码就是我们第一部分通过命令行 createsuperuser时所创建的,登陆后我们可以找到站点管理,对模型进行管理操作 ?...admin 主界面 当然,django 自带的 admin 管理系统不止那么点功能,接着我们通过定义一些参数,来定制 admin 界面 自定义 admin # 在使用后台管理的时候,可能需要自己定制...admin 管理界面 为了可以和用户进行交流,我们需要获取用户的一些评论之类的,所以我们需要通过表单让用户提交信息,接下来我们将了解下 django 的表单 django 表单 存在相应模型(POST

    3K21

    Web 开发 Django 模型

    简介 Django 中模型是真实数据的简单明确的描述,它包含了储存的数据所必要的字段和行为,在创建模型前需要先配置好数据库。...每个模型有一些类变量,它们都表示模型里的一个数据库字段。 每个字段都是 Field 类的实例,如 CharField 对应数据库中的字符串字段。...某些 Field 类实例定义时需要参数,还有一些可选参数,对应数据库表结构,如 CharField 类需要定义长度max_length。...模型操作 对模型对象的操作,本质上就是数据库数据的操作。下面我们就通过对模型对象操作实现对数据库记录基本的CURD操作。...image.png 查询数据 Django 提供了多种方式来查询出数据库记录,如查询上面 Question 模型对应全部数据,某个id的数据以及通过多条件过滤得到所需要的数据。

    1.1K10

    猫头虎 分享:Python库 Django 的简介、安装、用法详解入门教程

    通过本文的讲解,你将学会如何在项目中安装和配置Django,如何创建视图和模板,并掌握基本的CRUD操作。 1. Django简介 1.1 什么是Django?...的消息。 5. Django中的CRUD操作 5.1 模型定义 ️ 模型是Django中用于定义数据库结构的类。...管理员账户以管理模型数据: $ python manage.py createsuperuser 5.4 在Admin中注册模型 在blog/admin.py中注册你的模型,以便在Django Admin...中管理它: from django.contrib import admin from .models import Post admin.site.register(Post) 5.5 在模板中显示数据...管理 在admin.py中注册模型以便在Admin中管理 部署生产环境 使用Gunicorn和Nginx进行生产环境部署

    10810

    Django admin 一些有用的设置

    Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。以下是我最近摸索总结出比较实用的配置。...1 2 3 4 5 6 7 8 9 from django.contrib import admin from blog.models import Blog    #Blog模型的管理器 class...1 2 3 4 5 6 7 from django.contrib import admin from blog.models import Blog    #Blog模型的管理器 @admin.register...import Blog    #Blog模型的管理器 @admin.register(Blog) class BlogAdmin(admin.ModelAdmin):     #listdisplay设置要显示在列表中的字段...过滤器如果是外键需要遵循这样的语法:本表字段__外键表要显示的字段。如:“user__user_name” 3、颜色显示 想对某些字段设置颜色,可用下面的设置: ?

    2.6K70

    众多Python Web框架比较,哪个适合你,你就用哪个!

    在这里,我们给这样的框架更高的分数:这些框架展示了如何在教程中创建整个应用程序,包括常见的配方或设计模式,以及超出职责范围(例如提供有关如何运行的详细信息) Python变体(如PyPy或IronPython...这是一个有趣的系统,强调使用抽象和可重用的代码块称为“多维数据集”,但对于某些开发人员来说可能过于抽象或特殊。 多维数据集是具有模式(数据模型),实体(编程逻辑)和视图的软件组件。...还详细描述了应用程序模型,视图和模板的每个层的API。 然而,强大的力量带来了极大的复杂性。Django应用程序以其头重脚轻而闻名,具有许多移动部件。...这些系统使用Python类来定义模型,在Web2py中,使用构造函数(如define_table)来实例化模型。...如果希望使用以编程方式生成的表单(例如基本数据库资源管理器)生成应用程序,这将非常方便。 Web.py的文档与框架本身一样小,但它并没有提供相关的示例。

    4.6K20
    领券