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

使用filter_horizontal,有没有办法控制小部件上显示的内容?

使用filter_horizontal小部件是Django框架中的一个功能,它用于在管理界面中显示多对多关系字段的选择框。该小部件允许用户通过一个水平滚动条来选择相关对象。

在使用filter_horizontal小部件时,可以通过定义一个自定义的ModelAdmin类来控制小部件上显示的内容。具体步骤如下:

  1. 创建一个自定义的ModelAdmin类,继承自django.contrib.admin.ModelAdmin。
  2. 在自定义的ModelAdmin类中,使用filter_horizontal属性来指定需要使用filter_horizontal小部件的多对多关系字段。
  3. 在自定义的ModelAdmin类中,重写formfield_for_manytomany方法,该方法用于定制多对多关系字段的表单字段。
  4. 在formfield_for_manytomany方法中,可以通过修改queryset属性来控制小部件上显示的内容。queryset属性接受一个查询集,可以使用查询集的方法来过滤和排序相关对象。
  5. 在自定义的ModelAdmin类中注册需要管理的模型。

下面是一个示例:

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

class YourModelAdmin(admin.ModelAdmin):
    filter_horizontal = ('your_manytomany_field',)

    def formfield_for_manytomany(self, db_field, request, **kwargs):
        if db_field.name == 'your_manytomany_field':
            kwargs['queryset'] = YourModel.objects.filter(...)  # 根据需要过滤和排序相关对象
        return super().formfield_for_manytomany(db_field, request, **kwargs)

admin.site.register(YourModel, YourModelAdmin)

在上述示例中,我们定义了一个自定义的ModelAdmin类YourModelAdmin,并将filter_horizontal属性设置为需要使用filter_horizontal小部件的多对多关系字段。然后,我们重写了formfield_for_manytomany方法,在该方法中根据需要过滤和排序相关对象,并将结果赋值给queryset属性。

请注意,上述示例中的YourModel和your_manytomany_field需要根据实际情况进行替换。

关于Django的filter_horizontal小部件和ModelAdmin类的更多信息,您可以参考腾讯云文档中的相关内容:Django ModelAdmin

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

相关·内容

Django2.0中文(admin)

admin.site.register(Book) 4 models设置允许空值 models.EmailField(blank=True) null=True 5 自定义admin后台管理显示标签...它像filter_horizontal那样工作,除了控件都是垂直排列,而不是水平排列。 至于使用哪个,只是个人喜好问题。...///filter_horizontal和filter_vertical选项只能用在多对多字段 , 而不能用于 ForeignKey字段。 默认地,管理工具使用下拉框 来展现外键 字段。...但是,正如多对多字段 那样,有时候你不想忍受因装载并显示这些选项而产生大量开销。...例如,我们book数据库膨胀到拥有数千条publishers记录,以致于book添加页面装载时间较久,因为它必须把每一个publishe都装载并显示在下拉框 中 9 ForeignKey:用raw_id_fields

43920

35.Django2.0文档

如果只想在上级代码块基础添加内容,而不是全部重载,该变量就显得非常有用了。 不允许在同一个模板中定义多个同名 {% block %} 。...M:数据存取部分,由django数据库层处理,本章要讲述内容。   V:选择显示哪些数据要显示以及怎样显示部分,由视图和模板处理。   ...更好办法使用 filter_horizontal。让我们把它添加到BookAdmin中,然后看看它效果。...filter_horizontal和filter_vertical选项只能用在多对多字段, 而不能用于ForeignKey字段。 默认地,管理工具使用`` 下拉框`` 来展现`` 外键`` 字段。...解决这个问题办法使用`` raw_id_fields`` 选项。它是一个包含外键字段名称元组,它包含字段将被展现成`` 文本框`` ,而不再是`` 下拉框`` 。

11.3K100
  • Google Earth Engine(GEE)扩展——制作GEE app误区

    GUI可以包括简单部件(如标签、按钮、复选框、滑块、文本框)以及更复杂部件(如图表、地图、面板)来控制GUI布局。关于ui部件完整列表和关于面板更多信息可以在下面的链接中找到。...将图形部件集成到Jupyter笔记本工作流程中,允许用户配置特设控制面板,使用图形部件控件交互式地扫过参数。...一个非常强大部件是输出部件,它可以用来显示由IPython生成丰富输出,如文本、图像、图表和视频。完整widget列表和关于输出widget更多信息可以在下面的链接中找到。...这部分运行良好,但我们要求允许用户为他们 AOI 上传他们自己 shapefile(如项目站点)。有没有办法使用 Google Drive 来做到这一点?...没有办法使用它们上传,要完成这项工作,您必须在 EE 之外构建您应用程序(并自己处理上传) 所以当我们制作程序时候,要么使用GEE已经提供数据集,要么,公开自己数据集,这样才能使程序正常 运行

    16810

    使用 Django admin 定制后台,丰富自己网站后台管理系统

    title',) # 激活过滤器,这个很有用 list_filter = ('create_date', 'category') list_per_page = 50 # 控制每页显示对象数量...标签属性,也就是说添加了这个属性字段都可以点击进入模型实例内容页,如上图中所示,我给 title 这个字段就添加了这个属性。...,这个函数返回模型一个字段一部分内容。...使用 bootstrap_admin Django 默认后台管理界面并不好看,为了让后台显示更加美观,可以引用一个后台插件,这个插件就是 bootstrap-admin,它可以把后台显示变成 bootstrap...如果要实现真正意义定制有别于 Django 自带后台管理系统,xadmin 应该是最值得推荐,它单独实现了一个后台管理,具体介绍和使用方法可以自行查看 Github 项目介绍,地址:https

    3.1K10

    通过xadmin或者suit-v2快速搭建后台管理系统

    用第二行安装依旧报错 于是,只能百度了,依靠github下载包安装 参考解决方法:https://blog.csdn.net/qingche456/article/details/58279692...报错,网友解决办法是把django-formtools从1.0升级到2.0 django-formtools==2.0#txt文本里写,然后执行安装依赖 以下为txt文本内容 django-formtools...之前做app数据也有调进来,ok 7.其他-admin.py,xadmin.py中文修改 7.1显示中文model名称 model.py class BookReviewWeibo(Weibo, BookReview...通过建立模型使用Model类内部类Meta 有两个特殊选项:verbose_name和verbose_name_plural。...打开以前某个应用可能会发现报错 第一个错:admin.py里面 filter_horizontal = ('imgs',) 应该是一个多对多,注释了 第二个错:setting.py里面增加中间件单独

    82330

    【置顶】《Django企业开发实战》「勘误」

    第 6 章 - 6.2.2 - 122 页 typo,感谢 图灵社区 @zerosail @PaperSheep 指正 错误内容filter_horizontal = ('tags', ) filter_vertical...对这些配置有了大概了解后,需要先来安装: ``pip install supervisor``这里需要注意是,我们对于目前使用方式有两种,主要是在Python 2和Python 3项目中差别,对于...而在Python 3中会在系统安装,虚拟环境使用系统(全局)supervisor来管理进程。这么用原因在于supervisor针对Python 3版本还没有最终release。...不过对于个人项目可以尝试直接从github安装最新包: ``pip install git+https://github.com/Supervisor/supervisor``,使用基于兼容了Python3...或者使用作者fork出来分支做release: pip install https://github.com/the5fire/supervisor/archive/4.0.0dev0.zip

    65610

    外甥女问我 计算机是如何组成

    本篇文章就来唠唠这个问题 因为外甥女是医学类专业,对计算机了解犹如我对女孩子了解一般生疏 所以先说点简单问题和一些专业名词介绍 什么是计算机 说一个故事,看下有没有相同经历 接触计算机是因为计算器经历...但是在大多数人士看来,一台计算机由主机、显示器、键盘、鼠标和音箱等部件所组成 这种说法当然也没错,只是站在不同角度来说 今天、站在一名专业工程师(程序员,oh no 打工人)角度说说计算机是如何组成...,但是被称为 现代计算机之父,听着头衔就够一个大写牛掰了 二战期间,美军试图开发全球首台计算机ENIAC,在当时已经有了最先进电子技术,但是缺乏理论指导 美军没办法开发出来,这时,冯·诺依曼出现了...冯·诺依曼出现,瞬间让计算机发展步伐走上了一条快速道 定义了计算机组成结构,计算机应包括运算器、存储器、控制器、输入和输出设备五大基本部件。...: 独立两个存储器导致结构复杂,一个电脑得装两个内存条和两个磁盘 各自都有优缺点,现在主流电脑都使用 冯·诺依曼结构 ,嵌入式设备基本采用ARM体系结构 以上就是本期全部内容了,感谢各位阅读,求点赞

    52830

    .NET 云原生架构师训练营(建立系统观)--学习笔记

    除了 WEB 应用,开发平台还需要处理控制台应用 Console,移动端应用 Mobile,这个时候就会考虑有哪些组件除了给 ASP .NET Core 使用,同时还会给平层或者更高层使用。...,就不会这样 当我们需要为一个大系统添加一个小系统时候,需要考虑整体可能会带来影响,比如商城增加一个发放优惠券功能,需要考虑优惠券对原来会员等级优惠,平台优惠有没有冲突,另外需要考虑优惠券对订单系统...功能是能够给系统使用者带来价值东西。...理解其意义 二楼:预测某物发生变化后情况 三楼:提供决策 四楼:用部件合成系统 系统分解 分解系统 层级分解 分解系统 分解是一种把实体分成部件或组成部分方法。即分而治之。...(辅助系统) 层级分解 体系是用来理解并思考复杂系统办法

    39400

    Flutter | AnimatedCrossFade - 交叉淡入 Widget

    看到这个标题时候,有没有同学想到了一篇文章:Flutter | 求求你们了,切换 Widget 时候加上动画吧![1] 是否想起了那个组件:AnimatedSwitcher?...这两个控件有相似的地方,也有不同地方。 但是这篇并不打算说出来他俩有什么不同,主要来讲解 AnimatedCrossFade 该组件使用方式和大致可以使用场景。 ?...动画是通过[crossFadeState]参数控制。[firstCurve]和[secondCurve]表示两个孩子不透明度曲线。...此小部件用于淡化一对具有相同宽度部件。如果两个孩子高度不同,则动画会在动画过程中通过对齐它们顶部边缘来裁剪溢出child,这意味着将裁剪底部。...思考题 鉴于 AnimatedCrossFade 这个特性,我做了一个 Demo,效果如下: ? 这玩意能玩出什么效果?

    1.8K20

    91-STM32+ESP8266+AIR202302基本控制篇--功能扩展-关于网络mqtt.js 和 mqtt.min.js 微信程序包使用

    用户可以去安装这个插件,或者使用网络中另一个mqtt包 mqtt.js 和 mqtt.min.js 用这两个包就不需要设置以下两句 proxy_set_header Sec-WebSocket-Protocol...1.把CDN代码复制出来 ?...mqtt.js 是比较完整包 mqtt.min.js  是裁剪后包. 2.基本使用可以看资料API使用说明 ?...3.为了和先前使用做到通用,我和以前一样做了封装 mqtt.min.js是在 CDN链接上下载包 mqtt.js是我在mqtt.min.js包基础封装了一层. ?...移植使用(测试地址 wxs://mnifdv.cn/mqtt) 1.把这两个文件放到自己程序utils文件夹 ? 2.根据自己MQTT服务器更改以下信息 ?

    1.8K42

    留言赠书 | EPLAN实用技巧七:部件创建之接触器篇

    JZGKCHINA 工控技术分享平台 尊重原创 勿抄袭 勿私放其他平台 上期回顾 一期我们一起建立了一个塑壳断路器部件(点击跳转)。...电子元件保护要使用二极管快速熔断器而不要使用机械式断路器。 我想说是平时在和群友、工友们一起聊天时候总会有一个话题就是:机械总是多坑,设计有问题还得电气现场去解决等等。...红色框里设备标识符也一定要链接到主功能-线圈上去!方便的话就像我这样放在线圈后面,然后删除左边“显示设备标识符”一栏中内容,它自己就向左找妈妈去了。...进入部件管理,完善参数: 这里填写标准和断路器没什么区别,如果忘记可以翻看上一期文章,就不一一说明了。 关联参考显示: 在线圈显示”菜单中,下边有一项“触点映像”选项。...关联参考可以让我们快速定位辅助功能位置,也可以提示我们有没有重复放置或者剩余多少个功能。点击旁边三个小圆点,可以更改关联参考显示绝对坐标位置。

    2.1K30

    【tkinter系列 第七课 Scale部件

    python中有好几个库都可以实现,这个系列我们一起来学习如何使用python自带tkinter库来实现。...通常是在当你需要使用滑块来控制某个数值时,这个就非常方便,这个控件解决了用户一个问题,用户不需要去判断输入内容是否合规问题,在控件直接滑动滑块就可以了。...功能实现 接下来实现一个案例,通过控制两个scale部件,实现对label字体大小和内容改变。...实际Scale部件当绑定方法时是会默认将当前 刻度值传递到函数里面去,并且它数据类型是字符类型,具体可以使用type来打印查看一下。 ?...拓展知识: 这里除了使用上面的方法,还可以用下面的方法,scale控件还有一个get方法,可以获取当前控件一个值,使用这个方法,原来变量就可以不使用了,但是变量不能删除,函数格式要求是要传入变量

    2.3K10

    iOS 9人机界面指南(三):iOS 技术 ()

    注意: iOS会自动在自定义部件内容上方显示应用图标和标题(图标会显示在标题前面的空白处)。 将部件内容与标题对齐。当你部件内容与标题对齐时,人们就可以很简单地浏览今天视图中他们想要部件。...遵守今天视图中边距规范,并将内容约束在如图部件内容区内。 ? 一般情况下,使用白色系统字体来显示文本。在通知中心默认背景下白色文字会看起来较好。...人们可以使用更多(More)按钮来管理显示在动作视图控制器中分享和动作扩展。 ? 分享或动作扩展通常被认为是在当前用户场景下用来输入内容之用。...注意: 在动作视图控制器中,iOS只会显示支持当前内容类型动作扩展。例如,当用户当前内容是视频时,iOS就不会显示支持文本动作扩展。 尽可能在分享扩展中使用系统提供UI。...iOS会显示扩展自定义UI,而自定义UI又包含在文档采集视图控制器中基于导航栏界面之中。所以,在内建导航栏之下再显示第二个导航栏会使用户感到困惑,并且还会占据原本你内容区域。

    1.7K60

    1. qt 入门-整体框架

    总结: 本文先通过一个例子介绍了Qt项目的大致组成,即其一个简单项目框架,如何定义窗口类,绑定信号和槽,然后初始化窗口界面,显示窗口界面,以及将程序控制权交给Qt库。  ...QApplication管理了各种和样图形化应用程序广泛资源、基本设置、控制流及事件处理等。 在任何窗口部件使用之前必须创建QApplication 对象。...= new QLabel(this); button = new QPushButton(this); button->setText(tr("显示对应面积"));   //创建布局管理器,将部件加到布局管理器中...,介绍了主程序中完成图形化界面程序所需编写代码,即窗口部件初始化,以及窗口使用。...5.3 布局管理器   在设计较复杂GUI用户界面时,仅通过指定窗口部件父子关系以期达到加载和排列窗口部件方法是行不通,最好办法使用Qt提供布局管理器。

    1.6K20

    目录

    目录 使用Tkinter构建你第一个Python GUI应用程序 添加小部件 测验 使用部件 使用标签小部件显示文本和图像 显示带有按钮小部件可点击按钮 通过条目小部件获取用户输入 通过文本小部件获取多行用户输入...使用框架小部件将小部件分配给框架 通过浮雕调整镜框外观 了解小部件命名约定 测验 使用几何管理器控制布局 .pack() .place() .grid() 测验 使你应用程序具有交互性 使用事件和事件处理程序...,开始使用Tkinter 学会使用部件,例如按钮和文本框 使用几何管理器控制应用程序布局 通过将键盘单击与Python函数相关联,使你应用程序具有交互性 在掌握了每个部分末尾练习题后,会让你通过两个应用程序将所学内容融会贯通...它显示一个文本框,用户可以在其中输入一些文本。创建和样式化Entry窗口小部件工作原理和Label、Button窗口小部件非常相似。...测验 练习:创建地址输入表单显示隐藏 下面是使用Tkinter制作地址输入表单图像。

    29.8K20

    ​Flutter | 一个关于背景颜色引发打脸惨案

    赶紧去翻源码,发现 PopupMenuButton 本身并没有提供改变颜色参数, 那没办法了,只能找弹出页面的源码了。...ThemeData 我们都知道,可以定义 Theme 来控制全局颜色文字之类,但是我从来不知道有个 cardColor, 找资料!...什么乱七八糟,Material被用作Card? 当时我就气不打一处来,我看了半天源码,也没见哪个 build 返回了 Card! 没办法,全局搜索 card 关键字!总能看出来问题!...虽然材料隐喻描述了打印在材料本身上部件,但不隐藏墨迹效 果,但实际[Material]小部件将子部件绘制在墨迹效果顶部。...具有类型透明度[材质]可以放置在 不透明小部件顶部,以在其顶部显示墨迹效果。首选使用[ink]小部件在不透明小部件显示墨迹效果。

    1.5K30

    Qt Designer中QWidget属性表介绍

    提示信息,就是当鼠标放到控件时,会浮动出一个显示提示信息。...---- 如果要控制tooTip显示行为(如控制显示位置),可以重写部件event()方法捕获事件类型为QEvent.ToolTip事件。...toolTip显示时长,单位是毫秒,如果设置为-1,则显示时长根据toolTip内容长度来计算。...补充扩展:每个显示文本信息包括Label文本、按钮文本等、以及输入控件输入内容、帮助信息文本等,都可以在部件属性编辑中设置国际化子属性,例如: image.png image.png 它们都有三个子属性...---- 这部分内容,无需写国际化程序的话,就不需要关注;需要写国际化程序时,可能在这基础,还需要另外深入研究一下。

    10.9K20

    一个表看懂MES与ERP区别与联系!

    序号 答疑 问题回答 1 这个系统有没有必要?(这个系统有什么用?)...在控制质量和生产进度两方面提供保证。所以很有必要这套系统。 2 这个系统怎么用?...MES专门针对车间现场管理,比如:各个零部件生产进行到哪个工序,完成了多少;车间现场车床等设备运行状态是否良好,有没有出现故障,有几个坏了,哪里坏了,什么时间修好;另外,现场零部件质量检验情况,...6 上了ERP还有必要MES吗? 企业经常面临从产品设计到完成生产时间短,造成BOM不完整甚至不具备情况,而ERP没有BOM就无法使用,MES可以在没有BOM情况下实现生产计划正常管理。...通过对后台数据库进行整合等办法来实现与其他系统集成,实现数据共享 ERP需要MES五个理由 ? 最近十年,观察那些采用MES(制造执行系统)企业。

    2.8K30

    必读~苹果iOS小组件Widget设计终极完全指南

    “照片”小部件是一个很好示例,说明了小部件特性。 上下文:更新小部件以提供相关信息。如果我日历没有剩余事件,则小部件会自动更新以显示明天摘要。...由于内容有限,我们无法将不同部分深度链接到应用程序不同部分。中型和大型窗口小部件支持多个点击目标。 由于尺寸小组件仅支持一个点击目标,因此所有小窗口小部件均遵循“填充”样式。...这是一个例子: 其实占位符设计非常方便,程序员使用Swift UI即可搞定,不需特别设计。 可以自定义部件部件使用户对小部件显示内容有一些偏好。例如,您可以在“天气”小部件中编辑位置。...如果用户在其设备使用字体,则您部件应该能够放大其内容。在Xcode 12测试不同情况非常简单,我们可以与开发工程师沟通,确保在用户设置不同字体大小时候,小部件都能有更好表现。...不允许在小部件使用应用名称,因为它是多余

    7.3K30

    Yii框架小部件(Widgets)用法实例详解

    使用部件部件基本在views中使用, 在视图中可调用 yii\base\Widget::widget() 方法使用部件。 该方法使用 配置 数组初始化小部件并返回小部件渲染后结果。...注意: 当调用 yii\base\Widget::end() 时候,一些小部件使用 输出缓冲 来调整封闭内容。...以下是另一种可在begin() 和 end()调用中使用HelloWidget, HTML编码内容然后显示。...有时小部件需要渲染很多内容,一种更好办法是将内容放入一个视图文件, 然后调用yii\base\Widget::render()方法渲染该视图文件, 例如: public function run()...当一个小部件只包含视图代码,它和视图很相似, 实际,在这种情况下,唯一区别是小部件是可以重用类, 视图只是应用中使用普通PHP脚本。

    1.3K20
    领券