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

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

Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 在我们地产应用程序中,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...事实上,每张卡片结构是表单元素(包括基本HTML)和QWeb混合。看板视图定义列表视图和表单视图定义相似,只是它们根元素是kanban。... 我们添加了几个东西: t-if: 如果条件为真,渲染元素 record: 拥有所有请求字段作为其属性对象...在上面的示例中,字段name被添加到元素中,但state在它之外。当我们需要字段但不想在视图中显示它时,可以将其添加到元素之外。

2K20

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

_fold_name= 'fold' 用于确定看板视图中折叠组字段 AbstractModel odoo.models.AbstractModel[源代码] odoo.models.BaseModel...字段(Fields) class odoo.fields.Field[源代码] 字段拥有以下属性 string (str) – 用户看到字段标签;如果未设置,ORM将采用字段名开头字母改成大写后...它必须返回条件field operator value等效domain 计算字段默认。为了允许对计算字段进行设置,使用inverse参数。...否则,它将作为默认显示在对话框中 警告 @onchange 仅支持简单字段名称,不支持并自动忽略点分名称(关系字段字段,比如partner_id.tz) 危险 由于 @onchange 返回伪记录记录集...和odoo.fields.Datetime字段使用字符串作为(写入和读取),而不是date或datetime。

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

看完这篇,成为Grafana高手!

Override之后,就可以进一步进行子项配置,子项里面的属性几乎上文介绍图表属性一致 我们通过覆盖属性配置,可以让修改到之前我们已经在整体设置图标样式 例如我们现在经过SQL查询,已经获取到了...,一般都在fields字段下 通过引用变量来创建图表面板跳转链接,可以较为灵活实现基于数据外链跳转以及更为高级数据看板之间联动,下文要讲到数据下钻就是基于data links变量搭配来实现...Binary option: 选定两个字段进行数学运算例如加减乘除 转换数据类型(Convert field type) 可以将选择特定字段类型指定为固定数据类型 根据名称筛选数据展示...那么如何从跳转过来link上获取到携带过来变量呢?...在上文我们设置变量来控制数据面板repeat时候,我们设置了一个变量 url_event 当控制变量为 js_ready时候,看板整体URL是 当控制变量为 css_ready时候,看板整体

4.1K41

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

在这种情况下,不会从数据库中检索字段,而是通过调用模型方法来动态计算字段。 要创建计算字段,请创建字段并将其属性compute设置为方法名称。...计算方法应为self中每个记录设置计算字段。 按约定,compute方法是私有的,这意味着它们不能从表示层调用,只能从业务层调用。私有方法名称以下划线_开头。...这正是我们期望,因为不支持用户设置。 某些情况下,可以直接设置可能会很有用。在我们房产示例中,我们可以定义报价有效期间并设置有效日期。我们希望能够设置有效期间或日期,并且两者之间相互影响。...设置“garden”字段后,我们希望为花园面积和朝向提供默认。此外,当“花园”字段设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段会影响其他字段。...computed field往往更容易调试:这样字段是由给定方法设置,因此很容易跟踪设置时间。另一方面,onchanges可能会令人困惑:很难知道onchange程度。

3.1K30

Odoo开发指北 01 初识Odoo

继承开发 Odoo提供了大量现成模块给我们使用,但是某些情况下,我们需要制定符合自己需求功能模块。Odoo开发一条黄金准则是——不要修改现有的模块,以免改动后代码原有模块产生混淆。...然后使用自己模块:把自己模块路径设置odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...定义出模型会自动Odoo提供ORM接口匹配,也就是说这些模型会自动存入sql中。...static:静态资源文件,如css、js等 views:网页视图文件模版文件(xml文件,使用QWEB语言进行描述) init.py manifest.py:描述文件 脚手架命令   使用...Odoo 脚手架 odoo-bin scaffold 命令新建了我们 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需字段有哪些,然后定义模型

2.3K30

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

正如前面所述, action可以看做是菜单和model之间连接。 注意:这里id和action不能设置成一样,否则会报错。...‘Unknown’,而last_seen 字段默认为当前时间 练习 -- 设置默认 添加适当默认: 卧室数量默认为 2 可用日期默认为3个月内 修改 odoo14\custom\estate...参考: 主题相关文档可参考 保留字段名称. odoo为预定义行为保留了一些字段名称。...False 练习--为active字段添加设置 为active字段设置默认 为 active 字段设置适当属性,让它不再出现在页面。...必选字段,且不能被拷贝,默认New 修改 odoo14\custom\estate\models\estate_property.py 中EstateProperty,修改active字段,增加state

2.8K30

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

在我们房地产模块中,我们希望将与房地产相关信息(名称(name)、描述(description)、价格(price)、居住面积(living area)…)存储在数据库中。...ORM 层是odoo一个关键组件。该层避免了手动写入大部分SQL并提供可扩展性和安全服务. 业务对象被定义为继承于 ModelPython。可以通过在定义中设置属性来配置model。...有两大类领域字段:‘简单’字段--直接存储在模型表中原子,形如Boolean, Float, Char, Text, Date 和Selection, ‘关系型’ 字段--连接相同或者不同模型记录...有些属性是所有字段都拥有的,最常见几个属性如下: string (str, default: 字段名称) UI上显示为字段label (用户可见)....required (bool, default: False) 如果为 True, 表示该字段不能为空。创建记录时必须拥有默认或给定

2.2K30

odoo 权限管理学习总结

提示:管理员登录系统,激活开发者模式,即可在设置-用户详情页对用户类型进行编辑(Settings -> Users & Companies -> Users) 以上三用户信息都存在res_user...res_partner表中,那么在odoo如何区分用户类型以及如何做权限控制呢?...可以利用该特性实现隐藏对象需求,比如针对一些常规下不需要显示特殊字段,为其设置属性groups = "base.group_no_one",可以实现在非Debug模式下隐藏字段在视图中显示。...) ORM字段可以具有提供组列表groups属性(为逗号分隔组XML ID列表,如groups='base.group_user,base.group_system')注意:groups属性格式...' 说明:Odoo 13.0开始,移除multi,multi作为默认实现。

10K20

在Ubuntu 16.04上安装Odoo 10

部署后,Odoo允许管理员安装任何模块组合,并根据业务需求配置/定制它,范围从小型商店到企业级公司。 本教程介绍了如何使用Git源代码在一小时内安装和配置Odoo,以便于升级,维护和自定义。...我们也不会使用UbuntuWkhtmltopdf和node-Less打包版本。 请务必按照本节中步骤作为有限非root用户(而非odoo用户)。...db_user = odoo - PostgreSQL数据库用户名称。在这种情况下,我们使用默认名称,但如果您在创建用户时使用了其他名称,请在此处替换。...创建一个Odoo服务 创建一个名为systemd单元,odoo-server以允许您应用程序作为服务运行。...根据您服务器资源,安全性问题和测试第二次安装范围可以生产实例一起或在其他位置(远程或本地)进行。出于本教程目的,我们将使用生产环境在同一服务器上运行测试环境。

3.3K42

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

;limit 设置列表视图每页最大显示记录数 菜单定义 odoo14\custom\estate\views\estate_menus.xml <?...class属性 替换estate.CustomerHiddenUploadForm为在对应按钮视图模板中定义隐藏表单模版名称 替换EstateCustomerListView.buttons为对应按钮视图模板中定义按钮模版名称...替换estate_customer_tree为自定义全局唯一 do_action 为 Widget() 快捷方式(定义在odoo14\odoo\addons\web\static\src\js\core...t-jquery:接收一个CSS 选择器,用于查找上下文中,同CSS选择器匹配元素节点(为了方便描述,暂且称之为上下文节点) t-operation:设置需要对上下文节点执行操作(为了方便描述,暂且将...,上下文节点命名属性将被设置为属性元素(如果已经存在则替换,如果不存在则添加) 注意:参考官方文档,t-extend这种继承方式为旧继承方式,已废弃,笔者实践了最新继承方式,如下 <?

3.4K30

odoo Actions学习总结

环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作行为:登录、操作按钮、选择发票等… action可以存储在数据库中,也可以作为字典直接返回...所有Action都有两个强制属性: type 当前Action类别,决定可以使用哪些字段以及如何解释action name action名称,在客户端界面中显示对action简短用户可读描述...report 设置Action将出现在绑定模型Print上下文菜单。...在web客户端中默认为80 name(可选),action名称,界面显示时拼接到当前面包屑导航(现有导航面包屑 / name)。...默认为“Unnamed”,注意:如果name为空字符串,则默认为 Unnamed 例如,要使用列表和表单视图打开客户(设置了customer标志partner): { "type": "ir.actions.act_window

2.6K30

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

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

3.2K40

皕杰报表之填报操作

“新建智能映射”:新建填报操作图片填报操作名称设置这个填报操作名称数据源:设置这个填报操作映射数据源点击“下一步”,选择数据库表图片Schema:选择这个数据库 Schema。...表名筛选:查找需要选择数据表,不区分大小写。勾选需要填报数据表,点击“下一步”,设置填报字段图片填报单元格:选择填报操作时,这个字段对应报表中哪个字段。...勾选主键:当数据进行填报时,会根据你勾选主键字段进行判断,如果这个数据表中有这个,会根据这个作为条件进行数据修改(update);如果这个数据表中没有这个,就进行数据插入(insert into...图片css设置报报表页面上工具条填报按钮图片样式;图片样式可以在 report_res/skin/toolbar.css中设计。显示条件:判断这个动作按钮在什么条件下显示。...返回设置设置填报操作保存成功后,返回键值对。

30120

CSS讲解

CSS有丰富样式定义,可以让我们网页更加美观,用户体验更好CSS可以多页面使用,可以多次重复应用到多种HTML页面中,减少程序员重复工作量结构清晰,易于修改,方便程序员编写网页那么CSS如何工作呢...在CSS中,有五种常用选择器,分别是:简单选择器(根据名称、id、来选取元素)组合器选择器(根据它们之间特定关系来选取元素)伪选择器(根据特定状态选取元素)伪元素选择器(选取元素一部分设置样式...)属性选择器(根据属性或属性来选取元素)那我们接下来就一一来介绍他们简单选择器(根据名称、id、来选取元素) .a { width: 500px...这是一个链接 a:hover { color: hotpink; }伪元素选择器(选取元素一部分设置样式)伪元素选择器...font-family 属性应包含多个字体名称作为“后备”系统,以确保浏览器/操作系统之间最大兼容性。

12900

Odoo 菜单定义和修改学习总结

> 说明: id 菜单外部ID name 如果不指定name,则: 如果为菜单设置了action,则获取action record定义中name字段作为菜单name属性 如果未设置菜单action...,则获取菜单外部ID为作为菜单name属性 action 打开菜单时需要执行action外部ID web_icon 指定菜单图标,格式:模块名称,图标路径,形如estate,static/img...其中图标路径,一般是相对于模块根目录相对路径 sequence 设置菜单展示顺序。该属性越大,越靠右、靠下方展示。也就是说,菜单从左往右,从上到下,对应sequence属性从小到大。...这种修改方式之所以特殊,是因为它不修改原有菜单定义,而是通过重新定义菜单来修改,可以简单类比为“继承”,具体做法如下: 定义一个新菜单,将其id属性设置为原有菜单所在模块名称及其...隐藏原有菜单子菜单(如果需要的话) 定义一个,将其id设置为要隐藏子菜单所在模块名称及id属性组合,形如:moduleName.source_menu_id,如果新菜单和原有菜单在同一个模块

1.3K10

odoo context上下文用法总结

也代表记录集 设置上下文 Model.with_context([context][, **overrides]) -> records[源代码] 返回附加到扩展上下文此记录集新版本。...、过滤条件 视图定义 为设置action打开tree列表视图,添加默认搜索,搜索条件为 state字段等于True 、元素name属性 content 如果fieldName为搜索字段name属性,那么...--此处代码略...--> 说明:'group_by': '分组字段名称' 用于视图对象按钮,传递数据给模型方法 模型设计 #!...> 说明:context属性字典键值如果为模型中定义字段名称,则该字段名称必须以元素形式,出现在模型对应视图(即不能是内联视图,比如内联Tree列表)中,否则会出现类似错误提示

2K20

从0到1设计通用数据大屏搭建平台

这里简单做一下介绍:大屏和报表看板都只是BI其中一种展现方式,大屏更多是通过不同尺寸显示器硬件上进行投屏,而报表看板更多是在电脑端进行展示使用。...第一种方案主要是通过媒体查询来定义父级大小,然后对组件height、margin、padding等多种css属性采用rem作为单位,继承父级设置等单位(1vw),实现自适应适配,第二种方案是引用第三方脚本...,它样式使用是px为单位时,例如 line-height 设置为20px,此时就不能适应行高,就会出现重叠等错乱问题。...相同key都归属一 name: '标题名称', //属性名称 valueType: ['string'],...//控件名,定制控件样式 css: { width: '50%'}, //修改控件样式 dependencies: ['widget

3.2K40

高效地将 TailwindCSS Nuxt 结合使用

先决条件 最好使用以下命令设置 Nuxt 应用程序并准备好运行: npx nuxi init tailwind-css-nuxt-demo 这tailwind-css-nuxt-demo是我们代码演示应用程序名称...使用 Nuxt 设置 TailwindCSS 要开始将 TailwindCSS Nuxt 一起使用,您可以按照TailwindCSS 网站上说明安装并配置 TailwindCSS 作为依赖项。...plugins- JavaScript 函数集合,允许我们以编程方式注册其他样式。 purge- 可以是一个数组、一个对象或一个布尔,指示我们如何删除未使用样式(或不删除)。...TailwindCSS Nuxt 模块会自动添加所需代码,以便在生产过程中清除 CSS 代码,后面是按名称引用任何使用 CSS 样式文件列表,如下例所示: purge: { //enable...这个优秀包允许您将 Iconify 中选定图标包中图标加载到 TailwindCSS 中作为应用程序中使用

39120

全栈之前端 | 1.CSS3必备基础知识学习

选择器可以根据元素标签名、名、ID等来进行选择,从而实现对不同元素不同样式设置。属性-对则用于指定具体样式,比如颜色、字体大小、边框样式等。...掌握语法规则:学习CSS语法规则,了解如何使用选择器来选择HTML元素,并为其添加样式。了解CSS属性和用法,以及如何使用样式表来组织和管理样式。 实践练习:通过实际练习来巩固所学知识。...对大小写不敏感,但是如果涉及到 HTML 文档一起工作的话 class 和 id 属性名称对大小写是敏感,从而CSS中选择元素时也要对应大小写。...字体属性: 描述: CSS 中font-family属性是多种字体名称作为一个"应变"制度,以确保浏览器/操作系统之间最大兼容性,如果浏览器不支持第一个字体,它不断尝试下一个字体, 例如p{font-family...答: CSS 选择器是 CSS 规则一部分,它是元素和其他部分组合起来告诉浏览器哪个 HTML 元素应当是被选为应用规则中 CSS 属性方式, 选择器所选择元素,叫做"选择器对象"。

19530
领券