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

使用many2many字段odoo使多个字段不可见

使用many2many字段odoo可以实现多个字段不可见的功能。在odoo中,many2many字段是一种关联字段,用于建立多对多的关系。通过在模型中定义many2many字段,并设置相应的权限,可以控制字段的可见性。

具体实现步骤如下:

  1. 在需要控制可见性的模型中定义many2many字段。例如,假设有一个模型名为"ModelA",需要控制字段"FieldA"和"FieldB"的可见性,可以在"ModelA"中定义一个many2many字段,例如"m2m_field"。
  2. 在视图中设置字段的可见性。在视图中,可以使用"attrs"属性来设置字段的可见性。例如,设置"FieldA"在"m2m_field"为空时可见,可以使用如下代码:
代码语言:txt
复制
<field name="FieldA" attrs="{'invisible': [('m2m_field', '=', False)]}"/>

同样地,可以设置"FieldB"在"m2m_field"不为空时可见:

代码语言:txt
复制
<field name="FieldB" attrs="{'invisible': [('m2m_field', '!=', False)]}"/>
  1. 保存并应用视图的更改。在odoo中,视图的更改需要保存并应用才能生效。

通过以上步骤,就可以实现使用many2many字段odoo使多个字段不可见的功能。

对于odoo的相关概念、分类、优势、应用场景以及推荐的腾讯云相关产品和产品介绍链接地址,可以参考腾讯云官方文档或咨询腾讯云的技术支持团队获取更详细的信息。

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

相关·内容

  • odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

    例如,房地产是“舒适”或是“翻新”的 一个地产可以有多个标签,一个标记可以分配给多个房产。这得到了many2many概念的支持。...many2many是一种双向多重关系:一侧的任何记录都可以与另一侧的任何数量的记录相关。...这意味着可以将多个"tax"添加到我们的测试模型。...报价适用于一个房产,但同一个房产可以有多个报价。many2one的概念再次出现。然而,在本例中,我们希望显示给定地产的报价列表,因此我们将使用one2many概念。...其次,尽管property_id字段是必需的,但我们没有将其包含在视图中。odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。

    4.4K40

    为什么建议使用 @Autowired 字段注入却还可以使用 @Resource

    前言hello,大家好,我是 Lorin,大家使用 Spring 框架 @Autowired 注解字段注入时是不是经常遇到这个问题,今天我们来看看为什么?...@Autowired 字段注入从上面我们可以看到字段注入是最简单且无其它额外代码的方式,但同时也存在以下问题:与特定 IOC 框架强耦合(最主要原因)与特定 IOC 框架强耦合,导致使用其它 IOC...无法实现像构造器注入不可变对象使用字段注入的依赖对外部不可见容易使对象违反单一职责原则由于字段注入使用过于简单,容易使对象过分膨胀,违反单一职责原则。...适用对象:@Autowired可以对构造器、方法、字段使用,@Resource只能对方法、字段使用。...@Resource 为什么没有推荐其实这是因为 @Autowired 是 Spring 提供的特定注解,和 Spring 框架绑定,而 @Resource 是JSR-250提供的,它是Java标准,作为

    82910

    Django使用list对单个或者多个字段求values值实例

    开发环境:Ubuntu16.04+Django 1.11.9+Python2.7 使用list对values进行求值: 单个字段的输出结果: price_info=list(Book.objects.filter...多个字段的输出结果: 也使用list可以将符合条件的多个字段同时提取出来 entry_list = list(Selleraccount.objects.filter(status=1).values(...dealer': 'yw1234'}, {'number': u'1524792376', 'id': 9, 'dealer': 'yw1234'}] 值得注意的点: 这里需要注意的是,values中的字段信息需要使用单引号进行包裹...如果只有一个符合条件的值,就是一个列表里面有一个字典.如果多个符合条件的值则是多个字典放在列表中 补充知识:Django获取多个复选框的值,并插入对应表底下 1、实现的功能类似于,多个复选框,后面还有一个备注...list对单个或者多个字段求values值实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

    1.5K20

    odoo 开发入门教程系列-模块交互

    模块交互 在上一章中,我们使用继承来修改模块的行为。在我们的房地产场景中,我们希望更进一步,能够为客户生成发票。...链接模块(Link Module) 此类使用案例的常见方法是创建“链接”模块。在我们的案例中,该模块依赖estate 和account,包括房产的发票创建逻辑。...不幸的是,没有一种简单的方法可以知道如何在Odoo中创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。...create 方法不接受结果集作为字段值。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法中描述的特殊“commands”。

    1.7K10

    django使用F方法更新一个对象多个对象字段的实现

    通常情况下我们在更新数据时需要先从数据库里将原数据取出后放在内存里,然后编辑某些字段或属性,最后提交更新数据库。使用F方法则可以帮助我们避免将所有数据先载入内存,而是直接生成SQL语句更新数据库。...from django.db.models import F Product.objects.update(price=F(‘price’) * 1.2) 我们也可以使用F方法更新单个对象的字段,...F方法对某个对象字段进行更新后,需要使用refresh_from_db()方法后才能获取最新的字段信息(非常重要!)。...) + Value(1) product.refresh_from_db() print(product.price) # Decimal('13.00') 补充知识:Django批量更新多个属性...F方法更新一个对象多个对象字段的实现就是小编分享给大家的全部内容了,希望能给大家一个参考。

    3K20

    ThinkPHP使用数组条件进行查询之同一字段多个条件

    对同一表中多个字段的查询,在thinkPHP中使用数组条件进行查询,有三个好处,第一可以批量设置多个查询字段,第二可以设置多个查询条件,第三结构化你的代码,让代码更具可读性。...数组条件查询有简单数组查询、数组表达式查询,一般使用$map保存数组条件。...字符的并且状态为不在黑名单(0)的数据的数据 $map['username'] = ['like','%xifengli%']; $map['status'] = ['',0]; 上面两种属于基础类型,描述的是多个字段的并列条件...现在的问题是同一字段的并列条件和或者条件如何处理,也就是本文标题中的同一字段多个条件。 同一字段多条件表达式查询 例如现在需要查询用户表中状态为不在黑名单并且状态不为临时(2)的用户。

    2.3K20

    odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)

    自然地我们将总面积定义这两者的总和,我们将为此使用计算的字段的概念,即给定字段的值将从其他字段的值中计算出来。 到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。...依赖(Dependencies) 计算的字段的值通常取决于计算记录中其他字段的值。ORM期望开发人员使用修饰符depends()指定计算方法上的依赖项。...每当修改字段的某些依赖项时,ORM使用给定的依赖项来触发字段的重新计算 from odoo import api, fields, models class TestComputed(models.Model...可以使用.(比如 record.name)访问单条记录的字段或者给字段赋值。...为了支持这个需求,odoo提供了使用inverse函数的能力: from odoo import api, fields, models class TestComputed(models.Model

    3.1K30

    odoo 开发入门教程系列-模型和基本字段

    模型和基本字段 在上一章的末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...有两大类领域字段:‘简单’字段--直接存储在模型表中的原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型的记录...给模型表estate_property添加字段 添加以下字段到表中 Field Type name Char description Text postcode Char date_availability...有些属性是所有字段都拥有的,最常见的几个属性如下: string (str, default: 字段名称) UI上显示为字段的label (用户可见)....自动创建的字段(Automatic Fields) 参考: 该话题相关文档可参考 Automatic fields. odoo会在所有model(当然,也可以配置禁止自动创建某些字段)中创建少数字段

    2.3K30

    Gorm 关联关系介绍与基本使用

    默认情况下,外键的名字,使用拥有者的类型名称加上表的主键的字段名字 例如,定义一个User实体属于Company实体,那么外键的名字一般使用CompanyID。...正如上面的例子,我们使用主表Company中的主键字段ID作为外键的参考值。...如果你想要使用另一个字段来保存该关系,你同样可以使用标签 foreignKey 来更改它,例如: type User struct { gorm.Model CreditCard CreditCard...此外,想要使用另一个字段作为外键,您可以使用 foreignKey 标签自定义它: type User struct { gorm.Model CreditCards []CreditCard...Orders.OrderItems.Product").Preload("CreditCard").Find(&users) // 自定义预加载 `Orders` 的条件 // 这样,GORM 就不会加载匹配的

    37610

    Gorm-模型关系定义和标签 (二)

    在这种情况下,User模型将具有一个Articles字段,用于存储其所有文章。...最后,我们通过将Article模型中的User字段与User模型的ID字段相关联,将两个模型关联起来。ManyToManyManyToMany标签用于定义多对多关系的关联表。...例如,我们可以将一个User模型与一个Role模型相关联,使得每个用户可以拥有多个角色,每个角色也可以被多个用户拥有。在这种情况下,我们需要创建一个关联表,用于存储用户与角色之间的关系。...:"many2many:user_roles;"`}在上述代码中,我们首先定义了一个User模型,并将其与一个Role模型相关联。...最后,我们使用gorm:"many2many:user_roles;"标签将两个模型与一个名为“user_roles”的关联表相关联。

    43850

    Python中使用deepdiff对比json对象时,对比时如何忽略数组中多个不同对象的相同字段

    最近忙成狗了,很少挤出时间来学习,大部分时间都在加班测需求,今天在测一个需求的时候,需要对比数据同步后的数据是否正确,因此需要用到json对比差异,这里使用deepdiff。...一般是用deepdiff进行对比的时候,常见的对比是对比单个的json对象,这个时候如果某个字段的结果有差异时,可以使用exclude_paths选项去指定要忽略的字段内容,可以看下面的案例进行学习:...那么如果数据量比较大的话,单条对比查询数据效率比较低,因此,肯呢个会调用接口进行批量查询,然后将数据转成[{},{},{}]的列表形式去进行对比,那么这个时候再使用exclude_paths就无法直接简单的排除某个字段了...从上图可以看出,此时对比列表元素的话,除非自己一个个去指定要排除哪个索引下的字段,不过这样当列表的数据比较多的时候,这样写起来就很不方便,代码可读性也很差,之前找到过一个用法,后来好久没用,有点忘了,今晚又去翻以前写过的代码记录...,终于又给我找到了,针对这种情况,可以使用exclude_regex_paths去实现: 时间有限,这里就不针对deepdiff去做过多详细的介绍了,感兴趣的小伙伴可自行查阅文档学习。

    71320

    odoo wizard界面显示带复选框列表及勾选数据获取

    wizard可以通过关系字段(many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚的表达本文主题...返回True @api.model def default_get(self, fields_list): '''获取wizard 窗口界面默认值,包括记录列表 #因为使用了...modelName 点击列表复选框时,需要访问的模型名称,需要配合modelMethod方法使用,缺一不可。...参数可同时共存 如果需要将action绑定到指定模型指定视图的Action,可以在ir.actions.act_window定义中添加binding_model_id和binding_view_types字段...\src\js\demo_wizard_views.js 实现版本1 供demo_wizard_views.xml实现版本1使用 function disableActionConfirmButton(

    5.3K60

    Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

    在这篇教程里我们将会了解到 Odoo 模型里的一些其他类型的字段和特殊机制,而我依然会继续带领大家一起完善我们的 Todo 应用,不断地往里面添加一些新的功能特性,让它看起来更丰满也更实用一些。...priority,并且指定了三个可供选择的程度类型,一般情况下,如果一个字段只有固定的几种可选值,通常都会选择使用 Selection 字段,它接受一个元组列表作为参数,其中元组的组成为 (value...deadline 这个字段的值(我们需要用它的值和当前时间进行比较),如果一个计算字段会用到多个其他字段的值,这里就需要以逗号分隔,将用到的值的字段名依次传入装饰器中。...而 @api.multi 则表示该方法中的 self 是一个记录集(多个实例的集合),如果不理解,可以暂时不深究,到后面自然会知道这里的实际用法。...,并且还加上了属性 invisible,这个属性的作用是将当前字段隐藏起来,因为这里我们希望用户看到这个字段的值,而是将结果反映在颜色上。

    1.3K10

    odoo 权限管理学习总结

    为了解决上述问题,odoo采用了用户组机制。将用户划分为不同的组(一个用户可以归属多个用户组,一个用户组也可以拥有多个用户),然后给组分配权限,从而实现用户权限的管控及用户类型识别。...(group)进行分类:将多个用户组划分为一个用户组分类(category)。...用户组和用户组分类:一个用户组分类可以拥有多个用户组,一个用户组仅归属一个用户组分类,属于1对多的关系。...domain是一个可以使用以下变量的python表达式: time Python的 time 模块 user 以单例记录集(singleton recordset)表示的当前用户...如果当前用户不在列出的组中,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应中删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate

    10.1K20
    领券