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

如何在odoo中更改many2one字段的默认格式

在odoo中,可以通过继承和重写字段的display_name方法来更改many2one字段的默认格式。

many2one字段是一种关系字段,用于建立模型之间的关联关系。默认情况下,many2one字段的显示格式是关联模型的名称。如果想要更改默认格式,可以按照以下步骤进行操作:

  1. 找到包含many2one字段的模型,可以通过继承该模型来进行修改。假设我们要修改的模型是ModelA,其中包含一个名为field_namemany2one字段。
  2. 在自定义模块中创建一个新的模型,继承ModelA。例如,创建一个名为CustomModelA的模型。
代码语言:python
复制
class CustomModelA(models.Model):
    _inherit = 'model.a'
  1. CustomModelA中重写field_name字段的display_name方法。在该方法中,可以自定义many2one字段的显示格式。
代码语言:python
复制
class CustomModelA(models.Model):
    _inherit = 'model.a'

    field_name = fields.Many2one('related.model', string='Field Name')

    @api.depends('field_name')
    def _compute_field_name_display(self):
        for record in self:
            record.field_name.display_name = record.field_name.name + ' - ' + record.field_name.other_field

    display_name = fields.Char(compute='_compute_field_name_display', store=True)

在上述代码中,我们通过_compute_field_name_display方法来计算display_name字段的值。在该方法中,我们可以根据需要自定义many2one字段的显示格式。在这个例子中,我们将display_name设置为field_name的名称加上field_name的其他字段的值。

  1. 更新模块的依赖关系,并重新安装该模块。

完成上述步骤后,many2one字段的默认格式将会被修改为自定义的格式。

在odoo中,还有其他一些方法可以修改many2one字段的默认格式,例如使用name_get方法或者在视图中使用widget="many2one"等。具体方法可以根据实际需求进行选择。

请注意,以上答案是基于odoo的特定情况。如果需要了解其他云计算或IT互联网领域的名词或问题,请提供具体的问答内容。

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

相关·内容

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

参数: currency_field (str) –拥有表示该货币字段res_currency Many2one字段名称(默认: 'currency_id') class odoo.fields.Selection...取决于字段属性,添加一个默认公司条件 limit (int) – 读取时用可选限制 注意:odoo不会在当前模型对应表为One2many,Many2many类型属性建立对应字段,但会为Many2one...类型属性建立对应表字段,针对Many2many类型属性,odoo会建立一张辅助表,表名默认格式为model1_table_name_model2_table_name_rel,该表拥有两列,一列为当前模型表主键...进行格式odoo.fields.One2many和odoo.fields.Many2many使用特殊“命令”格式来操作存储在字段/与字段关联记录集。...这对于将新字段或方法添加到现有模型(在其他模块创建)或自定义或重新配置它们(例如更改默认排序顺序)非常有用: class Extension0(models.Model): _name =

13.2K10

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

模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景,我们都需要不止一个模型。此外,模型之间链接是必要。...参考: 本主题相关文档可查阅 Many2one 在我们房地产模块,我们想定义房地产类型概念,例如,房屋或公寓。...") 按约定,many2one 字段以_id 后缀。...comodel,必须在comodel定义Many2one 字段 练习 添加房地产报价表 创建 estate.property.offer 模型,并添加以下字段: Field Type Attributes...当我们通过one2many字段创建记录时,为了方便,会自动填充相应many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

4.3K40

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

模型和基本字段 在上一章末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...最重要属性为 _name,该属性定义了model在odoo系统属性。...有两大类领域字段:‘简单’字段--直接存储在模型表原子值,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型记录...required (bool, default: False) 如果为 True, 表示该字段值不能为空。创建记录时必须拥有默认值或给定值。...自动创建字段(Automatic Fields) 参考: 该话题相关文档可参考 Automatic fields. odoo会在所有model(当然,也可以配置禁止自动创建某些字段)创建少数字段

2.2K30

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

自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段值将从其他字段值中计算出来。 到目前为止,字段已直接存储在数据库并直接从数据库检索。字段也可以被计算。...) Inverse函数 你可能已经注意到,计算字段默认总是只读。...> 重启服务,浏览器验证(参考本章目标第二个动画视图) 其它信息 默认,计算字段不会存到数据库,因此,不可能基于计算字段进行搜索,除非定义一个search 方法。...设置“garden”字段后,我们希望为花园面积和朝向提供默认值。此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段值会影响其他字段值。...当计算字段依赖于其他计算字段时,更改值可能会触发大量重新计算。这会导致性能不佳。

3.1K30

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

选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久;它们在一定时间后自动从数据库删除。...wizard可以通过关系字段many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚表达本文主题...,供web端使用,用于区分不同页面操作数据,'estate.property.offer_3'为供web端使用记录ID,'data'键值代表记录数据,其id键值代表记录在数据库主键id,context...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取记录存到浏览器sessionStorage,可选 odoo14\custom\estate

5.2K60

odoo 开发入门教程系列-一些用户界面

当需要添加数据格式简单时,用CSV格式还是很方便,当数据格式更复杂时(比如视图架构或者一个邮件模板),我们使用XML格式。比如包含HTML tags help field。...Odoo有许多微调方式,但通常第一步是确保: 某些字段默认值 某些字段只读 当记录重复时,某些字段不能被拷贝 在我们房产业务案例,我们希望:: 售价只读(往后将自动填充) 当记录重复时,可用日期和售价不能被拷贝...我们看到一些属性,required=True,会影响数据库表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。...字段默认值为‘Unknown’,而last_seen 字段默认值为当前时间 练习 -- 设置默认值 添加适当默认值: 卧室数量默认值为 2 可用日期默认为3个月内 修改 odoo14\custom\...必选字段,且不能被拷贝,默认值New 修改 odoo14\custom\estate\models\estate_property.py EstateProperty类,修改active字段,增加state

2.8K30

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

表单视图也是如此:尽管使用了一些标记,或,但在设计方面几乎没有什么可做。 然而,如果我们想给我们应用程序一个独特外观,就必须更进一步,能够设计新视图。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...每个字段都有两个属性 value 和raw_value。前者是根据当前用户参数格式,后者则是直接通过read()读取。...在上面的示例字段name被添加到元素,但state在它之外。当我们需要字段值但不想在视图中显示它时,可以将其添加到元素之外。...您可能想看看Kanban描述各种选项。 练习--添加默认分组 使用合适属性对房产分组,默认按类型分组。你必须阻止拖拽和删除。

2K20

在Ubuntu 16.04上安装Odoo 10

在此示例,我们将使用Odoo默认端口8069,但这可能是您稍后在配置文件中指定任何端口。如果您计划运行任何其他服务,也可以在此处添加其端口。...db_port = False- Odoo使用PostgreSQL默认端口5432,只有在使用自定义PostgreSQL设置时才更改此设置。...对于正常安装,您可以跳过此行,并且此Odoo实例将默认连接到端口8069。 注意 配置日志部分中所述,在Ubuntu 16.04有很多Odoo日志记录选项。...请记住,journald将始终捕获主要Odoo服务活动(服务启动,停止,重新启动,错误),使用单独日志文件将仅排除日志“信息”消息,Web服务器消息,呈现引擎等。...> 在此阶段,您可能会遇到模块不兼容更改所产生错误。

3.3K42

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

模块交互 在上一章,我们使用继承来修改模块行为。在我们房地产场景,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...不幸是,没有一种简单方法可以知道如何在Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块是如何完成你想做事情。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法描述特殊“commands”。...这种格式是一个按顺序执行三元组列表,其中每个三元组都是要对结果集执行命令。

1.5K10

odoo 权限管理学习总结

res_partner表,那么在odoo如何区分用户类型以及如何做权限控制呢?...标准格式为 model_,其中, 为模块_name 替换.为_后_name 值 group_id/id 、group_id:id 代指需应用访问权限组...) ORM字段可以具有提供组列表groups属性(值为逗号分隔组XML ID列表,groups='base.group_user,base.group_system')注意:groups属性值格式...如果当前用户不在列出,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate...注意:通过为当前视图中目标字段添加groups属性实现权限控制仅作用于当前视图,如果希望当前视图模型(Model)所有视图中,对该字段实现统一权限控制话,需要在模型定义,为目标字段添加groups

10K20

ODOO配置文件etcodoo.conf配置详解

** **如果希望Odoo和PostgreSQL在同一台计算机上执行,UNIX套接字是可以,并且在没有提供主机时是默认,但是如果希望Odoo和PostgreSQL在不同计算机上执行,则需要侦听网络接口...**基本参数 Odoo通过端口5432通过UNIX套接字连接到本地postgres。...此设置只能使用配置文件进行设置,并在执行数据库更改之前进行简单检查。应将其设置为随机生成值,以确保第三方不能使用此接口。 所有数据库操作都使用数据库选项,包括数据库管理界面。...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%请求是繁重请求,而80%是简单请求 一个繁重工作,当所有的计算字段都设计好了...这样做时,您需要将更多http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。

6.4K21

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

在介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...第一继承机制允许模块通过以下方式修改在另一个模块定义模型行为: 向模型添加字段 覆盖模型字段定义 给模型添加约束 给模型添加方法 重写模型现有方法 第二种继承机制...odoo,第一种机制最常用。在我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...它arch字段包含多个xpath元素,用于选择和更改父视图内容,而不是单个视图: ...,作为同级元素 attributes 使用xpath主体特定属性元素更改匹配元素属性 当匹配单个元素时,可以直接在要查找元素上设置position属性。

2.2K20

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

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件定义。...它们是ir.ui.view model实例。 在我们estate模块,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示不仅仅是名称。 在表单视图中,应该对字段进行分组。.../> Odoo生成默认搜索视图提供了按name筛选快捷方式。...在odoo,domain对记录上条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。...>', 1000)] 默认情况下,条件与隐式AND组合在一起,这意味着记录匹配一个domain,需要满足domain每个条件。

3.2K40

odoo Actions学习总结

环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作行为:登录、操作按钮、选择发票等… action可以存储在数据库,也可以作为字典直接返回...所有Action都有两个强制属性: type 当前Action类别,决定可以使用哪些字段以及如何解释action name action名称,在客户端界面显示对action简短用户可读描述...Bindings(绑定) 除了两个强制属性外,所有action有用于在任意模型上下文菜单显示动作可选属性: binding_model_id 指定action绑定模型,格式:moduleName.modelName...highlight=do_action#the-action-manager 在数据库window action,操作有几个不同字段,这些字段应被客户端忽略,主要用于组成view列表 view_mode...(默认= tree,form ) 以逗号分隔视图类型列表,格式为字符串(注意不要包含空格)。

2.6K30

在Ubuntu 16.04上安装Odoo 11堆栈

安装PostgreSQL PostgreSQL9.6版本为数据库复制提供了重大改进,但不幸是,它不包含在默认Ubuntu 16.04存储库。在所有数据库节点上安装最新版本。...db_port:Odoo使用PostgreSQL默认端口5432,只有在使用自定义PostgreSQL设置时才更改此设置。 db_user:PostgreSQL数据库用户名称。...addons_path:默认插件路径,您可以添加用逗号分隔它们自定义路径: logfile:Odoo日志文件路径。...从您Linode下载源代码新代码: cd /opt/odoo \ && sudo git fetch origin 11.0 将更改应用于存储库: sudo git reset --hard...使用上面介绍方法,您将在同一版本更新Odoo应用程序,而不是升级到较新Odoo版本。

8.9K30

LINUX useradd命令使用总结

帐号建好之后,再用 passwd 设定帐号密码。而可用 userdel 删除帐号。使用 useradd 指令所建立帐号,实际上是保存在 /etc/passwd 文本文件。...    -c, --comment COMMENT         新账户 GECOS 字段    -d, --home-dir HOME_DIR       新账户主目录    -D, --defaults...     显示或更改默认 useradd 配置   -e, --expiredate EXPIRE_DATE  新账户过期日期    -f, --inactive INACTIVE       新账户密码不活动期...显示此帮助信息并推出    -k, --skel SKEL_DIR    使用此目录作为骨架目录    -K, --key KEY=VALUE           不使用 /etc/login.defs 默认值...,指定用户登录时目录为/opt/odoo12,创建一个和用户同名组,并将用户加到该组,指定用户登录后shell,默认为/bin/bash。

1K31

何在Ubuntu 18.04上部署Odoo 11

,请确保已安装“开始之前”部分列出所有必需依赖项。...默认Odoo Web服务器通过HTTP提供流量。为了使我们Odoo部署最安全,我们将Nginx配置为一个SSL终止代理,它将通过HTTPS提供流量。...默认情况下,Odoo服务器在所有接口上侦听端口8069,因此如果要禁用直接访问您Odoo实例,您可以阻止所有公共接口端口8069,或强制Odoo只在本地接口上侦听。...= 127.0.0.1 保存配置文件并重新启动Odoo服务器以使更改生效: sudo systemctl restart odoo 启用多处理 默认情况下,Odoo正在使用多线程模式。...服务以使更改生效: sudo systemctl restart odoo11 剩下系统资源将被我们机器上运行其他服务使用。

1.9K20

ODOO优化层级关系查询效率方法

Odoo10 Development Essentials》Chapter5(p106)中介绍了Odoo中分层关系建立。 代码如下 在上面的代码。 使用字段来关联上层记录。...(递归查询文件夹文件) Odoo为了提高层次结构(树状结构)查询效率,每一条层级数据记录添加跟字段. 假设A是B上级对象。那么存在这样逻辑关系。...Odoo 应用 我们用Odoo11product模块作为演示 在文件.看到产品目录(ProductCategory类.15行起)代码 在Odoo11演示数据,产品目录结构一共有6个 我们查询下数据库数据...要找Saleable下所有子目录即可使用 作为条件 结论: 在Odoo实际使用,发现使用parent存储特性模块主要涉及account, product, stock_location....凡事皆有两面,这种存储特性会在数据库添加多余字段。其实是以空间换时间。

2.2K80
领券