【零散技术】10分钟学会 Odoo Widget many2many_tags的使用与拓展

news2025/1/16 3:43:39

序言:时间是我们最宝贵的财富,珍惜手上的每个时分

1.基本使用

        widget =“many2many_tags”是我们常用的视图组件,使用后会badge形式展示数据,未使用widget则只显示 (x记录)

 2.自定义显示内容

        使用 many2many_tags后默认显示模型中的 _rec_name字段对应的数据

        如未定义_rec_name,默认显示 name字段数据

        如_rec_name 与name都未定义,则会显示 (模型名称,id)

        由于未做name定义,界面过于辣眼,且当前需求为:显示 检测内容与不良数。

        所以可以通过重写name_get方法,展示想要的数据

    def name_get(self):
        res = []
        for rec in self:
            res.append((rec.id, '%s:%s' % (rec.item_id.name, rec.qty)))
        return res


 3.自定义显示颜色

        我们成功展示了数据,但是默认的灰色无法突出显示信息,

        现在需要突出显示 检测不良数>0的数据,我们如何处理呢

        此刻 options属性派上用场了

  <field name="item_detail_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>

        前置准备:

        1>模型增加字段 “颜色”

class RoQualityCheckItemDetail(models.Model):
    _name = 'ro.qc.item.detail'
    _description = '质检信息'
    '''
    '''
    color = fields.Integer('颜色')

        2>将颜色字段进行计算

    color = fields.Integer('颜色',compute='compute_color',store=True,default=10)
    @api.depends('qty')
    def compute_color(self):
        for detail in self:
            if detail.qty>0:
                color_index = 9
            else:
                color_index = 10
            detail.write({
                'color':color_index
            })

        注意:color 有11个值,0-11分别对应如下颜色

        我们的计算方法则是为了突出显示 检测不良数>0的数据,大于0红色,等于0为绿色

        3>视图字段 增加option

        这一步是必不可少的, 如果没有添加的话是不会出现颜色变化的

<field name="item_detail_ids" widget="many2many_tags"
                                           options="{'color_field': 'color'}"/>

        通过以上操作后, 即可达到依据情况变色的效果。

odoo开发部署实施.

wx号: _ro_cd

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/944515.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Oracle报错 PLS-00103: 出现符号 ““在需要下列之一时

在IDEA中执行以下SQL时&#xff0c;报了这个异常 检查了语法&#xff0c;你会发现语法没有任何问题&#xff0c;标点也没有任何问题。 罪魁祸首在这&#xff1a; 换行符为CRLF&#xff0c;我们需要改成LF 即可执行成功

护眼灯买什么样的好?分享五款护眼灯

护眼台灯的光照一般比较均匀&#xff0c;相比普通台灯&#xff0c;一般具有防蓝光、防频闪等功能&#xff0c;能够提供一个健康舒适的学习、生活灯光环境&#xff0c;建议选购内置智能感光模式的护眼台灯&#xff0c;以确保灯光亮度一直处于均衡状态&#xff0c;让眼睛更轻松。…

ARDUINO STM32 SSD1306

STM32F103XX系列SPI接口位置 在ARUDINO 下&#xff0c;&#xff08;不需要设置引脚功能&#xff0c;不需要开启时钟设置&#xff0c;ARDUINO已经帮我们处理了&#xff09; stm32f103c6t6 flash不足&#xff0c;不足以运行U8G2,产生错误 改用U8X8&#xff0c;后将字体改为u8x8_…

5V升压充电8.4V管理IC

在我们小家电设计当中USB口的5V输入升压到8.4V输出&#xff0c;使用一颗SOP8的升压充电芯片&#xff0c;直接升压到8.4V.电流在1A左右。2&#xff0c;USB输入&#xff0c;5V升压8.4V&#xff0c;充电1A&#xff0c;内含专门的双节锂电池充电管理逻辑和LED指示灯&#xff0c;我们…

大学生该怎么认清当下的就业环境呢?

大学生毕业后进入职场&#xff0c;面临的就业环境也在不断发生变化。为了更好地适应这个变化莫测的环境&#xff0c;大学生需要认清当下的就业环境&#xff0c;并做出相应的应对策略。 了解行业趋势&#xff0c;抓住就业机会 如今&#xff0c;各行各业的竞争日益激烈&#xff…

使用nps实现内网穿透

1、介绍 ​ 当我们想把内网的一些资源暴露在公网上时&#xff0c;可以使用内网穿透功能。比如公司的内网服务器&#xff0c;部署了平时需要开发的项目&#xff0c;但是回到家中无法访问&#xff0c;就可以使用内网穿透&#xff0c;将公司内网的接口映射到一台公网的服务器上&a…

现浇钢筋混泥土楼板施工岗前安全VR实训更安全高效

建筑行业天天与钢筋混凝土砼在&#xff0c;安全施工便成了企业发展的头等大事。 当今社会&#xff0c;人人都奉行生命无价&#xff0c;安全至上。可工地安全事故频繁发生&#xff0c;吞噬掉多少宝贵生命。破坏了多小个家庭?痛定死痛&#xff0c;为了提高施工人员的安全意识。 …

多目标优化

https://zhuanlan.zhihu.com/p/158705342 概念 单目标优化只有一个优化目标&#xff0c;所以可以比较其好坏。 但是多目标优化&#xff0c;在需要优化多个目标时&#xff0c;容易存在目标之间的冲突&#xff0c;一个目标的优化是以其他目标劣化为代价的&#xff0c;所以我们要…

CUDA小白 - NPP(2) -图像处理-算数和逻辑操作(2)

cuda小白 原始API链接 NPP GPU架构近些年也有不少的变化&#xff0c;具体的可以参考别的博主的介绍&#xff0c;都比较详细。还有一些cuda中的专有名词的含义&#xff0c;可以参考《详解CUDA的Context、Stream、Warp、SM、SP、Kernel、Block、Grid》 常见的NppStatus&#xf…

Vue项目直接报错

最近自己在做一个vue2项目&#xff0c;vue并不熟悉&#xff0c;所以求解&#xff01;&#xff01;&#xff01; 通过命令&#xff1a;vue create app 创建项目&#xff0c;但打开后&#xff0c;浏览器直接报错&#xff0c;意思为&#xff1a;不能在模块外使用import语句(at ho…

c++ opencv将彩色图像按连通域区分

要将彩色图像按连通域区分&#xff0c;您可以使用 OpenCV 中的 cv::connectedComponents 函数。 下面是一个简单的示例代码&#xff0c;说明如何使用 cv::connectedComponents 函数来检测并标记图像中的连通域&#xff1a; #include <opencv2/opencv.hpp> #include <…

智能制造产业链数字化转型、数字化互联工厂建设方案PPT

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除&#xff0c;更多浏览公众号&#xff1a;智慧方案文库 篇幅有限&#xff0c;无法完全展示&#xff0c;喜欢资料可转发评论&#xff0c;私信了解更多信息。

初次跑yolo5遇到的一些问题

1. ImportError: cannot import name COMMON_SAFE_ASCII_CHARACTERS‘ from charset-normalizerconstant‘ 这个报错可能是由于charset_normalizer模块的版本问题引起的。尝试更新charset_normalizer模块到最新版本&#xff0c;或者使用较旧的版本&#xff0c;看看是否可以解…

Java 中数据结构HashSet的用法

Java HashSet HashSet 基于 HashMap 来实现的&#xff0c;是一个不允许有重复元素的集合。 HashSet 允许有 null 值。 HashSet 是无序的&#xff0c;即不会记录插入的顺序。 HashSet 不是线程安全的&#xff0c; 如果多个线程尝试同时修改 HashSet&#xff0c;则最终结果是…

Android屏幕显示 android:screenOrientation configChanges

显示相关 屏幕朝向 https://developer.android.com/reference/android/content/res/Configuration.html#orientation 具体区别如下&#xff1a; activity.getResources().getConfiguration().orientation获取的是当前设备的实际屏幕方向值&#xff0c;可以动态地根据设备的旋…

恒运资本:市盈率怎么算?

市盈率&#xff08;P/E ratio&#xff09;是判别一家公司股票价格合理性的一个重要目标&#xff0c;也是投资者评估公司股票投资价值的重要参阅目标。市盈率越高&#xff0c;表明相对于公司的收益来说&#xff0c;该公司的股票定价越高。市盈率越低&#xff0c;则表明该股票被低…

虚拟列表的实现

一、什么是虚拟列表 在传统的列表渲染中&#xff0c;如果列表数据过多&#xff0c;一次性渲染所有数据将耗费大量的时间和内存。当我们上下滚动时&#xff0c;性能低的浏览器或电脑都会感觉到非常的卡&#xff0c;这对用户的体验时是致命的。 于是我们会想到懒加载&#xff0…

如何使用c3p0连接池???

1.首先下载架包。。。&#xff08;下载链接&#xff1a;https://note.youdao.com/ynoteshare/index.html?id61e2cc939390acc9c7e5017907e98044&typenote&_time1693296531722&#xff09; 2.将架包加入项目文件。 创建一个lib目录&#xff0c;将架包复制进去 右键点击l…

ManageEngine ServiceDesk Plus之CVE漏洞

什么是CVE&#xff1f; CVE的英文全称是“Common Vulnerabilities & Exposures”即通用漏洞披露&#xff0c;CVE像是一个字典表&#xff0c;为广泛认同的信息安全漏洞给出一个公共的名称。 使用一个公共名称&#xff0c;可以帮助用户在各自独立的各种漏洞数据库中共享数据…