首页
学习
活动
专区
圈层
工具
发布

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

comodel_name 和inverse_name 参数是必选参数,除非是相关或者扩展字段 class odoo.fields.Many2many[源代码] Many2many字段的值为一个结果集。...取决于字段属性,添加一个默认的公司条件 limit (int) – 读取时用的可选限制 注意:odoo不会在当前模型对应表中为One2many,Many2many类型的属性建立对应的表字段,但会为Many2one...类型的属性建立对应表字段,针对Many2many类型的属性,odoo会建立一张辅助表,表名默认格式为model1_table_name_model2_table_name_rel,该表拥有两列,一列为当前模型表主键...警告 使用sudo可能会导致数据访问跨越记录规则的边界,可能会混淆要隔离的记录(例如,多公司环境中来自不同公司的记录)。...参数: fnames–已修改字段的列表,None表示所有字段 ids–修改的记录ID的列表,None表示所有记录 警告 执行原始SQL绕过ORM,从而绕过Odoo安全规则。

15.8K10

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

买家可以是任何个人,然而,销售人员必须是房产机构的员工(即odoo用户)。 在odoo中,有两种我们经常引用的两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...在我们的房地产模块中,我们想定义房产标签的概念。例如,房地产是“舒适”或是“翻新”的 一个地产可以有多个标签,一个标记可以分配给多个房产。这得到了many2many概念的支持。...many2many是一种双向多重关系:一侧的任何记录都可以与另一侧的任何数量的记录相关。...,many2many字段拥有_ids 后缀。...odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。

5.8K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序中创建发票 一个具体示例: 记账凭证(Account...https://github.com/odoo/odoo/blob/f1f48cdaab3dd7847e8546ad9887f24a9e2ed4c1/addons/account/models/account_move.py...不幸的是,没有一种简单的方法可以知道如何在Odoo中创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。...One2many和Many2many使用通用ORM方法中描述的特殊“commands”。这种格式是一个按顺序执行的三元组列表,其中每个三元组都是要对结果集执行的命令。.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models from odoo.exceptions import UserError

    2.7K10

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

    计算的字段和变更(Computed Fields And Onchanges) 模型之间的关系是任何Odoo模块的关键组成部分。它们对于任何业务案例的建模都是必要的。...每当修改字段的某些依赖项时,ORM使用给定的依赖项来触发字段的重新计算 from odoo import api, fields, models class TestComputed(models.Model...self: record.description = "Test for partner %s" % record.partner_id.name 示例以 Many2one为例,针对 Many2many...为了支持这个需求,odoo提供了使用inverse函数的能力: from odoo import api, fields, models class TestComputed(models.Model...对于computed field 和Onchanges的使用没有严格的规则。 在许多情况下,可以使用computed field和onchanges来实现相同的结果。

    4.3K30

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

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

    2.9K80

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

    1.Dbfilter配置 Odoo是一个多租户系统:一个Odoo系统可以运行并服务于多个数据库实例。它也是高度可定制的,定制(从加载的模块开始)取决于“当前数据库”。 ...如果没有使用多租户,这不是问题,只有一个数据库可以使用,但是如果有多个数据库可以访问,Odoo需要一个规则来知道它应该使用哪一个。 ...** **如果希望Odoo和PostgreSQL在同一台计算机上执行,UNIX套接字是可以的,并且在没有提供主机时是默认的,但是如果希望Odoo和PostgreSQL在不同的计算机上执行,则需要侦听网络接口...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%的请求是繁重请求,而80%是简单请求 一个繁重的工作,当所有的计算字段都设计好了...这样做时,您需要将更多的http头转发给Odoo,并在Odoo配置中激活代理模式,让Odoo读取这些头。

    9.3K31

    快速部署Odoo,开启高效企业管理

    凭借着这些高效实用的功能,Odoo拥有了超过730个合作伙伴和200万用户。Odoo非常成功,可谓是功能非常强大的企业应用了,用户可以直接从模块库中选择安装适用模块,或进行模块卸载,升级的管理操作。...今天,小九就带大家快速学会Odoo的初始化安装方法,快速部署Odoo,开启高效企业管理。 初始化安装 常规的安装,需要经过前期下载等复杂的步骤。这里我们介绍的是镜像一键部署的安装方法。...这个方法比较简单,不容易出现错误影响后续的安装和使用,因此,门槛较低,对小白也更友好。 在云服务器部署Odoo镜像,按自己的需求选择设置。并检查: 在云控制台获取您的 服务器公网IP地址。...在云控制台安全组中,检查 Inbound(入)规则 下的 TCP:80 端口是否开启。 若想用域名访问 Odoo,请先到 域名控制台 完成一个域名解析。...选项 需要了解更多Odoo的使用,请参考官方文档:Odoo Documentation(opens new window) 如果你还有其他疑问,可以留言或者私信小九,一起交流!

    3.6K10

    python的命名规则_python命名规则

    这个倒是跟我们平时创建密码的规则刚好相反,很多时候强的密码都是要求包含大小写字母… 和cc++、java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,...,函数,变量取名,只要不违反命名规则,取任何名字都是可以的,一般取名都是… 废话不多说,开始今天的题目: 问:python变量、函数、类的命名规则?...命名规则首先说明一点,命名规则并不是强制的,这只是约定,你可以不遵守,也可以指定团队自己使用的命名规则,但最好团队所有的成员使用… 1.python命名规则—–>下划线连接 girl_of_wfb=lgl2...命名规则,总的原则就是见名知… 命名不能与关键字同名,不能与python内部的方法、模块、函数等重名!...1开始的 for item… 在介绍类之前,我首先要告诉你一些python的作用域规则。

    5.1K10

    PostgreSQL数据库GB级备份与还原方法

    ODOO数据库的备份和还原有两种方法,一种是利用ODOO自带的自动化备份工具Database auto-backup 进行备份,并在WEB页面进行数据库还原,另一种是GB级别以上的备份方法,本文先描述第二种备份方法...postgres=#  2.psql命令行创建数据库 在还原数据库之前,先创建一个testdb2的数据库,校对规则指定为C。...查看创建结果 postgres=# \l                                        数据库列表        名称     |  拥有者  | 字元编码 |  校对规则... backups]# systemctl start odoo12 8.处理2个问题 用数据库管理工具清除登录样式表丢失的问题 DELETE FROM ir_attachment WHERE url ...LIKE '/web/content/%';   然后再处理模块图标丢失的问题。

    1.4K31

    最简 Odoo 部署方法:Websoft9 企业应用托管平台

    拉取镜像从 Docker Hub 拉取官方或第三方 Odoo 镜像,可能面临镜像下载速度慢、版本兼容性问题。 docker pull odoo:latest 3 ....docker run -d -p 8069:8069 --name odoo --link postgres:db -v odoo-data:/var/lib/odoo odoo 手工部署的四大难题 安装...配置难 • 需同时管理 Odoo 容器和数据库容器,环境变量、端口、存储卷配置复杂。 • SSL 证书、域名绑定、防火墙规则等额外运维工作繁琐。...步骤 2:创建数据库 Websoft9 控制台安装 Odoo 后,通过 "我的应用" 查看应用详情,在 "访问" 标签页中获取访问 URL,使用本地浏览器访问 URL,开始初始化:创建数据库 填写好所有参数...(Email 和 Password 是登录账号),点击 create database,等待初始化完成 步骤 3:登录到后台,默认进入 Apps 页面 点击左上角的设置图标,打开 Settings 项,

    1.1K00

    在Ubuntu 16.04上安装Odoo 10

    更新您的软件包: sudo apt update && sudo apt upgrade 为Odoo 配置UFW防火墙 在安装Odoo之前,我们将设置一些基本的防火墙规则,以允许SSH连接和访问Odoo.../odoo/requirements.txt 这些命令使用随Odoo安装提供的requirements.txt文件,以确保您获得应用程序所依赖的软件包的正确版本。...创建一个Odoo服务 创建一个名为systemd的单元,odoo-server以允许您的应用程序作为服务运行。...如上例所示,Odoo日志将完全由系统日志管理(“ 配置日志”部分中的选项2 )。如果需要单独的日志文件,请省略该行并进行配置相应的odoo-server.conf,指定日志文件的位置。...更新Odoo 在更新Odoo系统之前,您应该检查一切是否按预期工作,尤其是第三方模块。最安全的方法是使用测试环境,这只是一个单独的Odoo安装。

    4.6K42

    .htaccess的重写规则

    .htaccess基本语法和应用 .htaccess是Apache服务器的一个非常强大的分布式配置文件。 正确的理解和使用.htaccess文件,可以帮助我们优化自己的服务器或者虚拟主机。...^www\.example\.com$ [NC] # 应用怎样的规则 RewriteRule .?...后面的[NC](no case)表示忽略大小写,常见的还有 [L](last):终止一系列的RewriteCond和RewriteRule [R](redirect):触发一个显示的跳转,也可以指定跳转类型...(gif|jpg|png)$ - [F] 由于是基于HTTP_REFERER的验证,所以只能防止一般的图片盗链,因为HTTP_REFERER是比较容易伪造的 自定义404错误页面 如果用户输入了一个不存在的...链接到php文件 # $1指代的是前面第1个用括号括起来的内容 RewriteRule ^/?

    3.1K30

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

    四、Many To Many(多对多) 4.1 Many To Many 4.2 反向引用 4.3 重写外键 4.4 自引用 Many2Many 4.5 预加载 4.6 Many2Many 的 CURD...4.4 自引用 Many2Many 自引用 many2many 关系 type User struct { gorm.Model Friends []*User `gorm:"many2many...,查看 预加载 获取详情 4.6 Many2Many 的 CURD 查看 关联模式 获取 many2many 相关的用法 4.7 自3定义连接表 连接表 可以是一个全功能的模型,支持 Soft Delete...&[]User{userA, userB, userC}) 5.5 带 Select 的删除 你可以在删除记录时通过 Select 来删除具有 has one、has many、many2many 关系的记录...polymorphicValue 指定多态值、默认表名 many2many 指定连接表表名 joinForeignKey 指定连接表的外键列名,其将被映射到当前表 joinReferences 指定连接表的外键列名

    1.6K10
    领券