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

odoo 12中继承字段的表单视图

在Odoo 12中,继承字段是一种在表单视图中添加、修改或删除字段的方法。通过继承字段,可以在不修改原始模型的情况下,对其进行扩展和定制。

继承字段可以通过以下步骤实现:

  1. 创建一个新的模块或选择一个现有的模块来扩展。
  2. 在模块的models.py文件中,定义一个新的模型,并继承要扩展的原始模型。
  3. 在新模型中,使用fields.Many2onefields.One2manyfields.Many2many等字段类型来定义要添加、修改或删除的字段。
  4. 在模块的views.xml文件中,创建一个新的表单视图,并使用inherit_id属性指定要继承的原始模型的视图。
  5. 在新的表单视图中,使用field标签来添加、修改或删除字段。

继承字段的优势包括:

  1. 灵活性:通过继承字段,可以根据具体需求对模型进行定制和扩展,而无需修改原始模型的代码。
  2. 可维护性:继承字段使得代码更易于维护和管理,因为修改只发生在新模块中,不会影响原始模型。
  3. 可重用性:继承字段可以在多个模块中使用,提高代码的重用性和可扩展性。

继承字段的应用场景包括但不限于:

  1. 定制化:根据企业的特定需求,对现有模型进行定制和扩展,以满足业务流程的要求。
  2. 功能扩展:在现有模型中添加新的字段,以支持额外的功能或数据存储需求。
  3. 数据关联:通过继承字段,将不同模型之间的数据进行关联,以实现数据的一致性和完整性。

对于Odoo 12,腾讯云提供了一系列相关产品和服务,如云服务器、云数据库、云存储等,可以帮助用户搭建和管理Odoo 12的部署环境。具体产品和服务的介绍和链接地址,请参考腾讯云官方文档或咨询腾讯云客服人员。

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

相关·内容

odoo 为form表单视图添加chatter功能

实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如图,给表单新增一个类似聊天窗口,当记录一些表单活动(本例为自动记录当前记录状态变化) 需求实现 模型定义...odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪字段设置tracking属性,并设置属性值为真值 #!...\odoo\addons\mail\models\mail_thread.py,其字段命名均以message_开头 tracking 该属性为True或数字时,打开针对该属性所属字段修改日志-...-当所属字段内容发生变化时,系统会将该字段变化前后值写入日志中,这个数字大小影响变更日志在日志中排序。...\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应,模型定义中_inherit 属性也需要添加该模块,如下: _inherity

78020
  • odoo 开发入门教程系列-继承(Inheritance)

    ,提示如下: 模块继承(Model Inheritance) 引用: 查看主题相关文档继承和扩展 我们希望在“Settings/Users & Companies/Users”表单视图中直接显示与销售人员关联房产列表...为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块中定义模型行为: 向模型添加字段 覆盖模型中字段定义 给模型添加约束 给模型添加方法 重写模型中现有方法 第二种继承机制...目标: 在用户表单视图中显示与销售人员关联avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。...练习--添加字段到用户视图 添加property_ids字段到 base.view_users_form 中新建notebook页 提示: 可以在 这里找到继承用户视图示例。

    2.2K20

    odoo 开发入门教程系列-基本视图

    在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段视图是在带有操作和菜单XML文件中定义。...它们是ir.ui.view model实例。 在我们estate模块中,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示不仅仅是名称。 在表单视图中,应该对字段进行分组。...搜索视图与列表及表单视图略有不同,因为它们不显示内容。尽管它们适用于特定模型,但它们用于过滤其他视图内容(通常是聚合视图,比如列表). 除了在使用方面的不同,他们定义方式是一样。...在自定义搜索视图中添加用户可能过滤字段是非常常见。 搜索视图还可以包含元素,这些元素充当预定义搜索开关。...在odoo中,domain对记录上条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。

    3.3K40

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

    添加字段表单视图,正如本章目标中展示那样 对于关系型字段,可以使用通过字段路径作为依赖项: description = fields.Char(compute="_compute_description...该字段被定义为最高报价 添加该字段表单视图,正如本章目标中第一个动画 提示:你可能会想用 mapped() 方法,查看示例 writeoff_amount = sum...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时奔溃 在表单和列表视图中添加字段,正如本章目标中显示第二个动画中一样。...为了实现这一点,我们定义了一个方法,其中self表示表单视图记录,并用 onchange()修饰该方法,以指明它由哪个字段触发。...同时,需要注意是,不要循环遍历 self,因为该方法在表单视图中触发,self总是代表单条记录。

    3.2K30

    odoo 开发入门教程系列-QWeb简史

    QWeb简史 到目前为止,我们房地产模块界面设计相当有限。构建列表视图很简单,因为只需要字段列表。...表单视图也是如此:尽管使用了一些标记,如或,但在设计方面几乎没有什么可做。 然而,如果我们想给我们应用程序一个独特外观,就必须更进一步,能够设计新视图。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序中,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...事实上,每张卡片结构是表单元素(包括基本HTML)和QWeb混合。看板视图定义与列表视图表单视图定义相似,只是它们根元素是kanban。...练习--制作一个最小看版视图 根据上述提供简单例子,为房产创建一个最小化看板视图。唯一展示字段为name.

    2.1K20

    odoo Actions学习总结

    binding_view_types 以逗号分隔视图类型列表,即Action需要显示上下文菜单所在视图,主要是“列表”和“表单”。...默认为list,form(列表和表单) Window Actions (ir.actions.act_window) 最常见动作类型,用于通过视图呈现模型可视化:Window Action为模型定义了一组视图类型...包含字段: res_model action触发要显示视图关联模型 views (view_id,view_type)对列表。...所有这些类型都必须在生成views列表中(至少有一个False view_id) view_ids M2M(技术上不是M2M:添加了一个sequence字段,可以只由一个视图类型组成,没有视图id)...中每个未填充类型,追加(False,type) 应用实践举例 在estate模块estate.property模型表单视图中,为Action添加菜单"选取offers",如下: !

    2.6K30

    go继承:匿名字段

    go结构体可包含一个或者多个结构体,如果不给结构体命名的话,则该结构体隐式继承了结构体所有成员 这个结构体称为匿名字段 匿名字段示例: package main import "fmt" type...struct {    Person } func main() {    m :=Man{Person{1,"tioncico"}}    fmt.Println(m.name)//可直接调用Person成员..., self) } func main() {    m :=Man{Person{1,"tioncico"}}    fmt.Println(m.ToString())//可直接调用Person方法...4l5zbvrq0hh0000gp/T/___go_build_main_go Person: 0xc00000c030, &{1 tioncico} Person: 0xc00000c030, &{1 tioncico} 如果继承...Person类继续声明接收者函数,就可以实现"类函数重写"效果: package main import "fmt" type Person struct {    id int    name

    96330

    odoo 给列表视图添加按钮实现数据文件导入

    实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好表达本文主题,一些和主题无关文件、代码已略去 odoo14\custom...;limit 设置列表视图每页最大显示记录数 菜单定义 odoo14\custom\estate\views\estate_menus.xml <?...; }, _onUpload: function (event) { var self = this; // 如果隐藏上传表单不存在则创建...class属性值 替换estate.CustomerHiddenUploadForm为在对应按钮视图模板中定义隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板中定义按钮模版名称...,上下文节点命名属性将被设置为属性元素值(如果已经存在则替换,如果不存在则添加) 注意:参考官方文档,t-extend这种继承方式为旧继承方式,已废弃,笔者实践了最新继承方式,如下 <?

    3.5K30

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

    模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景中,我们都需要不止一个模型。此外,模型之间链接是必要。...模型和表单,树,搜索视图 该练习是对前几章很好扼要重述:你需要创建一个 model,设置 model,添加 动作和菜单,并且创建视图....到estate.property 模型,表单和列表视图 提示: 视图中,使用 widget="many2many_tags"属性正如这里展示一样。...(res.partner) required property_id Many2one (estate.property) required 使用price,partner_id,status字段创建列表和表单视图...,不必创建动作和菜单 添加offer_ids字段到estate.property 模型极其表单视图 这里有几件重要事情需要注意。

    4.5K40

    odoo ORM API学习总结兼orm学习教程

    _fold_name= 'fold' 用于确定看板视图中折叠组字段 AbstractModel odoo.models.AbstractModel[源代码] odoo.models.BaseModel...这意味着视图中不存在字段在创建记录期间不会触发调用。...在出现字段表单视图中,当修改某个给定字段时,将调用该方法。在包含表单中存在伪记录上调用该方法。该记录上字段赋值将自动返回客户端。...(bool) – 设置为True以包含上下文操作 submenu – 已弃用 返回 请求视图组成(包括继承视图和扩展) 返回类型 dict 引发 AttributeError...– 如果继承视图具有除“before”、“after”、“inside”、“replace”以外未知位置 则如果在父视图中找到除“position”以外标记 Invalid ArchitectureError

    13.5K10

    Odoo开发指北 01 初识Odoo

    继承开发 Odoo提供了大量现成模块给我们使用,但是某些情况下,我们需要制定符合自己需求功能模块。Odoo开发一条黄金准则是——不要修改现有的模块,以免改动后代码与原有模块产生混淆。...因此,odoo提供了继承机制,我们可以选择一个基础模块,然后继承它,在它基础上进行修改、扩展,生成自己模块。...然后使用自己模块:把自己模块路径设置到odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...Odoo 脚手架 odoo-bin scaffold 命令新建了我们 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需字段有哪些,然后定义模型类...构建动作对象,关联某个具体菜单项响应。 构建视图对象:主要是list、tree、form、search视图

    2.4K30

    odoo 权限管理学习总结

    用户组和用户组关系:用户组可以被用户组继承(伪继承),当继承某个用户组时,本组用户也会自动加入继承用户组。...可以利用该特性实现隐藏对象需求,比如针对一些常规下不需要显示特殊字段,为其设置属性groups = "base.group_no_one",可以实现在非Debug模式下隐藏字段视图显示。...如果当前用户不在列出组中,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应中删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate..."/> 验证,发现界面上,未授权上述框选权限用户已经看不到上述字段了 注意:通过为当前视图中目标字段添加groups属性实现权限控制仅作用于当前视图,如果希望当前视图模型(Model)所有视图中,...接口,会调用fields_view_get方法,可以重写此方法以控制xml显示效果(参考网络资料,未实践验证) 按钮权限(按钮级别) 类似字段权限控制,仅需在在对应视图中,为目标按钮元素

    10.2K20

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

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图(非实际项目界面截图,仅用于介绍本文主题),打开记录详情页(form视图),点击某个按钮(图中"...选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...向导只是一个继承TransientModel而非model模型。...wizard可以通过关系字段(many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚表达本文主题...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图Action,可以在ir.actions.act_window定义中添加

    5.3K60

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

    在这篇教程里我们将会了解到 Odoo 模型里一些其他类型字段和特殊机制,而我依然会继续带领大家一起完善我们 Todo 应用,不断地往里面添加一些新功能特性,让它看起来更丰满也更实用一些。.../mymodules --db-filter=^demo$ -d demo -u todo 升级后创建或打开任意一条待办事项进入到表单页面,就可以看到已经多了「紧急程度」这个字段了,并且默认选择了「待办...name="name"/> 计算字段视图装饰器...这个需求跟时间有关,并且时间是流动(一直在变化),所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo ORM 已经为我们实现了相关机制——计算字段...我们打开视图文件来加点东西上去: <!

    1.4K10

    PostgreSQL 物化视图 与 表继承 头脑风暴

    物化视图,嗯,MYSQL DBA 没听说过这个功能,SQL SERVER DBA 高深或许知道有一种SQL SERVER “物化视图”,当然ORACLE DBA 对物化视图是充满着,自豪感。...,那我们用物化视图就再好不过了,我们可以建立一个物化视图,在每天早上1点来刷新物化视图,而这一天所有关于这个数据查询全部可以走我们建立物化视图。...下面只需要三步,你就能让开发心服口服 1 你字段使用期限是多长,是仅仅临时业务,还是长久业务 2 你业务类型是什么,你加字段是服务 A 业务 还是 B 业务 ,或者C 业务 3 你查询是否会比较频繁...现在由于业务需求,增加了一些业务,而这些业务与原来业务一部分数据是重合,但这些新业务数据又需要增加大量字段,此时该怎么办 1 在原表上增加新字段,但是问题是,老业务不需要这些字段,那意味着原表上有不少字段就是...1 继承表里面的数据是在基础表基础上进行扩展 2 继承表里面的数据会汇聚到基础表 3 修改继承表里面的数据,基础表对应数据会进行变化 4 修改基础表中对应继承数据,继承数据也会变化 ?

    1.9K40

    odoo 通过Javascript显示或隐藏form自带按钮

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下,根据条件对form视图自带按钮显示、隐藏进行控制 代码实现 隐藏、显示编辑和创建按钮为例 odoo14...function (require) { 'use strict'; let modelConfigs = { 'estate.property': { // form表单视图归属模型...,即需要对按钮显示做管控模型名称 /* hideEditButton hideCreateButton值可以简单理解为eval函数参数,形如 eval(arg),整个表达式计算结果为...} } return res; } }); }) 说明: 如果需要隐藏其它自带按钮、或自定义按钮,可以通过查看form视图...根据实际需求,可以通过在js中打印this对象,以获取更多判断是否隐藏、显示按钮有用信息。

    1.7K50
    领券