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

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

选择字段 在上一篇教程中,我们已经创建好了待办事项模型,但是只是添加了「描述」和「已完成?」两个字段,这肯定是不能满足我们需求。...priority,并且指定了三个可供选择程度类型,一般情况下,如果一个字段只有固定几种可选,通常都会选择使用 Selection 字段,它接受一个元组列表作为参数,其中元组组成为 (value...此处我们还给这个字段添加了默认 todo,表示当一个待办事项被创建后,如果没有指定紧急程度,将默认是待办状态。我们可以为任意类型字段添加默认。...在上一篇教程中我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行中给 Odoo 启动命令加上参数 -u todo 指定升级.../mymodules --db-filter=^demo$ -d demo -u todo 升级后创建或打开任意一条待办事项进入到表单页面,就可以看到已经多了「紧急程度」这个字段了,并且默认选择了「待办

1.3K10

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

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

2.2K30
您找到你想要的搜索结果了吗?
是的
没有找到

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

[源代码] 封装不同之间互斥选择。...此外,所有简单存储字段(布尔、整数、浮点、字符、文本、日期、日期时间、选择、many2one)都会被提取;它们对应于模型表列,并在同一查询中高效地获取。...– 如果用户尝试为字段输入不在选择范围内无效 UserError–如果将在对象层次结构中创建循环,操作一个结果(例如将对象设置为其自己父对象) Model.copy(default=None...– 如果用户尝试为字段输入不在选择范围内无效 UserError–如果将在对象层次结构中创建循环,操作一个结果(例如将对象设置为其自己父对象)(官方原文:if a loop would be..., 必须匹配选择(通常为str,有时为int) 对于odoo.fields.Many2one,必须为记录数据库标识 其它非关系字段,使用字符串 危险 出于历史和兼容性原因,odoo.fields.Date

13.2K10

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

在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件中定义。...它们是ir.ui.view model实例。 在我们estate模块中,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示不仅仅是名称。 在表单视图中,应该对字段进行分组。...表单用于创建和编辑单条件记录,其根元素为 ,由高层框架元素(group和notebook)和交互元素 (按钮和字段): ...在odoo中,domain对记录上条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和三元组。...如果指定字段满足作用于运算符条件,则记录满足条件。

3.2K40

Salesforce 选择list项目创建重复解决方法-Translate

现在做对日项目,有时遇到选择list项目需要设重复情况,一般情况下直接增加重复会发生错误而无法设定,这里利用翻译方法可以解决这样问题,例如,我现在自定义一个选择list项目language,它分别是...image.png image.png 这里在PageLayout上正常表示三个,分别是01:英语,02:日语,03:中国语 image.png 在已经存在【02:日语】基础上,增加【04:日语】的话...,会发生【Duplicate Values】错误。...image.png 解放方法: 1.为避免重复,先直接增加【04:日语_04】API Name和。...image.png 5.如下,这个选择list项目的就会有两个【日本語】 image.png 6.在VsCode中,执行如下命令,可以把资源取下来。

58610

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

odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中记录来定义。常见模式为 菜单> action > 视图。为了访问记录,用户在几个菜单级中导航。...view_mode 可获取视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action好例子。关注XML 数据文件结构,因为你在后续练习中会用到。 <?...,直接从action获取,即为action属性 练习 添加菜单 在合适目录(本例中为odoo14/custom/estate/models/views)创建 estate_menus.xml 文件...‘Unknown’,而last_seen 字段默认为当前时间 练习 -- 设置默认 添加适当默认: 卧室数量默认为 2 可用日期默认为3个月内 修改 odoo14\custom\estate...练习 -- 添加state字段 为estate.property model添加state 字段(字段名可自定义),一个选择列表

2.8K30

SQL 语句创建数据库表时列字段初始化

在SQL中,创建数据库表时可以指定每个列字段初始,这称为"默认"(Default Value)。默认是在插入新记录时,如果没有显式提供该列,则自动应用。...age:这是用户年龄,INT表示它是一个整数类型字段,默认为18。如果在插入新用户时没有提供年龄,那么数据库会自动将其设置为18。...registration_date:这是用户注册日期,DATE表示它是一个日期类型字段,默认设置为当前日期(使用CURRENT_DATE函数)。...这就是默认在SQL创建数据库表时用途和意义。通过设置默认,我们可以确保表中每一行都有一个合理默认选项,从而简化数据插入过程并保持数据完整性。...总结一下,在SQL中,通过使用DEFAULT关键字来为表字段设置默认,这样在插入新记录时,如果没有提供,数据库将会使用默认来填充该列。

27860

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

例如,在我们房地产场景中,我们希望在常规用户视图中直接显示销售人员财产列表。...在介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...创建报价时,设置房产状态为‘Offer Received’,如果用户试图以低于已存在报价金额创建报价时抛出错误。 提示: 可在vals中获取property_id 字段,但是它是一个int型。...目标: 在用户表单视图中显示与销售人员关联avaliable房产列表其用户表单视图 Odoo提供了视图继承,其中子“扩展”视图应用于根视图之上,而不是就地修改现有视图(通过重写它们)。...它arch字段包含多个xpath元素,用于选择和更改父视图内容,而不是单个视图:

2.2K20

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

模型之间关系(Relations Between Models) 上一章介绍了为包含基本字段模型创建自定义视图。然而,在任何真实业务场景中,我们都需要不止一个模型。此外,模型之间链接是必要。...comodel,必须在comodel中定义Many2one 字段 练习 添加房地产报价表 创建 estate.property.offer 模型,并添加以下字段: Field Type Attributes...(res.partner) required property_id Many2one (estate.property) required 使用price,partner_id,status字段创建列表和表单视图...,不必创建动作和菜单 添加offer_ids字段到estate.property 模型极其表单视图 这里有几件重要事情需要注意。...当我们通过one2many字段创建记录时,为了方便,会自动填充相应many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

4.3K40

odoo Actions学习总结

环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作行为:登录、操作按钮、选择发票等… action可以存储在数据库中,也可以作为字典直接返回...包含字段: res_model action触发要显示视图关联模型 views (view_id,view_type)对列表。...(否则创建一个条新记录) search_view_id (可选) (id, name) 对, id 为动作需要加载指定搜索视图数据库ID。...默认为“Unnamed”,注意:如果name为空字符串,则默认为 Unnamed 例如,要使用列表和表单视图打开客户(设置了customer标志partner): { "type": "ir.actions.act_window...highlight=do_action#the-action-manager 在数据库window action中,操作有几个不同字段,这些字段应被客户端忽略,主要用于组成view列表 view_mode

2.6K30

odoo 权限管理学习总结

如果(规则)未选择某个操作,则不会为该操作检查规则,就像该规则不存在一样。 规则默认适用所有操作。...危险提示 创建多个全局规则是有风险,因为可能创建不重叠规则集,这将删除所有访问权限 应用实例 estate/security/security_estate_property_model_groups.xml...) ORM字段可以具有提供组列表groups属性(为逗号分隔组XML ID列表,如groups='base.group_user,base.group_system')注意:groups属性格式...如果当前用户不在列出组中,他将无权访问该字段: 将自动从请求视图中删除受限制字段 从fields_get()响应中删除受限制字段 尝试(显式)读取或写入受限字段会导致访问错误 修改estate...注意:通过为当前视图中目标字段添加groups属性实现权限控制仅作用于当前视图,如果希望当前视图模型(Model)所有视图中,对该字段实现统一权限控制话,需要在模型定义中,为目标字段添加groups

10K20

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

作为登录公司用户使用后端(web客户端)时,这不是问题:登录时可以选择数据库,然后加载自定义设置。 ...这是--db filter目的之一:它指定如何根据所请求主机名(域)选择数据库。该是一个正则表达式,可能包括动态注入主机名(%h)或访问系统所通过第一个子域(%d)。 ...当Postgres部署不是本地部署和/或不使用安装默认时,可以使用数据库选项覆盖此设置。 打包安装程序将自动创建一个新用户(odoo),并将其设置为数据库用户。 数据库管理界面受管理密码设置保护。...要使数据库管理界面完全不起作用,需要在不使用createdb情况下创建PostgreSQL用户,并且数据库必须由其他PostgreSQL用户拥有。...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%请求是繁重请求,而80%是简单请求 一个繁重工作,当所有的计算字段都设计好了

6.4K21

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

如果重写生效,我们可以继续创建发票。不幸是,没有一种简单方法可以知道如何在Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当。...为了创建了发票,我们需要以下信息: 一个 partner_id: 顾客 一个move_type: 它有几个可能 journal_id: the accounting journal 这足够创建一个张空发票...create 方法不接受结果集作为字段。...为此在account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法中描述特殊“commands”。...这种格式是一个按顺序执行三元组列表,其中每个三元组都是要对结果集执行命令。

1.5K10

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

然而,我们可能需要给定模型中字段之间链接。有时,一个字段是根据其他字段确定,有时我们希望帮助用户输入数据。...自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段将从其他字段中计算出来。 到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。...在这种情况下,不会从数据库中检索字段,而是通过调用模型方法来动态计算字段。 要创建计算字段,请创建字段并将其属性compute设置为方法名称。...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建奔溃 在表单和列表视图中添加字段,正如本章目标中显示第二个动画中一样。...设置“garden”字段后,我们希望为花园面积和朝向提供默认。此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段会影响其他字段

3.1K30

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

QWeb简史 到目前为止,我们房地产模块界面设计相当有限。构建列表视图很简单,因为只需要字段列表。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序中,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...练习--制作一个最小看版视图 根据上述提供简单例子,为房产创建一个最小化看板视图。唯一展示字段为name....在上面的示例中,字段name被添加到元素中,但state在它之外。当我们需要字段但不想在视图中显示它时,可以将其添加到元素之外。

2K20

odoo context上下文用法总结

、过滤条件 视图定义 为设置action打开tree列表视图,添加默认搜索,搜索条件为 state字段等于True 、元素name属性 content 如果fieldName为搜索字段name属性,那么...content表示需要搜索内容,输入内容是字符串,则需要添加引号,形如'test';如果fieldName为搜索过滤器name属性,那么content表示布尔,该为真,则表示默认开启...> 说明:context属性字典键值如果为模型中定义字段名称,则该字段名称必须以元素形式,出现在模型对应视图(即不能是内联视图,比如内联Tree列表)中,否则会出现类似错误提示...为可编辑列表视图字段搜索添加查询过滤条件](odoo 为可编辑列表视图字段搜索添加查询过滤条件.md) 用于记录集,传递数据给模型方法 模型设计 #!

2K20

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

选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...wizard可以通过关系字段(many2one或many2many)引用常规记录或wizard记录,但常规记录不能通过many2one字段引用wizard记录 详细代码 注意:为了更清楚表达本文主题...以下属性皆在hasCheckBoxes 为"true"情况下起作用。 modelName 点击列表复选框时,需要访问模型名称,需要配合modelMethod方法使用,缺一不可。...可选 modelMethod 点击列表复选框时,需要调用模型方法,通过该方法收集列表勾选记录数据。可选。...this.modelName = undefined; // 定义点击列表复选框时需要访问模型 this.modelMethod = undefined; // 定义点击列表复选框时需要调用模型方法

5.2K60
领券