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

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

在我们的estate模块中,我们需要有关房产的以下信息: 购买房产的客户 出售房产的真实重述代理人 房产类型:房子、公寓、顶层公寓、城堡… 显示了该酒店特色的一系列标签:舒适、翻新… 收到的报价清单 Many2one...根据的类型对房地产进行分类是一种标准的业务需求,尤其是为了优化过滤。 一个房产可以有一个类型,但同一类型可以分配给多个房产。这得到了many2one概念的支持。...> 重启服务,刷新浏览器验证 在房地产模块中,我们仍然缺失两条关于房产的信息:买家和销售人员。...买家可以是任何个人,然而,销售人员必须是房产机构的员工(即odoo用户)。 在odoo中,有两种我们经常引用的两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...在我们的房地产模块中,我们想定义房产标签的概念。例如,房地产是“舒适”或是“翻新”的 一个地产可以有多个标签,一个标记可以分配给多个房产。这得到了many2many概念的支持。

4.5K40

odoo Web Controllers 学习总结

from . import models from . import controllers 验证 服务端控制台输出请求参数: {'arg1': 'value1', 'arg2': 'value2'...} API Routing odoo.http.route(route=None, **kw)[源代码] 修饰器将被修饰的方法标记为请求的处理程序。...type – 请求类型,可选值: 'http' 、'json' auth – 身份验证方法的类型,可以是以下类型之一: user: 用户必须经过身份验证,执行当前请求的用户,必须具有对应的执行权限...如果没经过身份验证,使用共享公共用户(Public user)执行当前请求。 none: 即使没有数据库,该方法也始终处于活动状态。主要由框架和认证模块使用。...cors – Access-Control-Allow-Origin cors 指令值 csrf (bool) – 是否为该路由开启CSRF 保护。 默认为 True。

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

    如何在 Ububtu 18.04 上安装 Odoo 13

    Odoo可以以多重方式进行安装,依赖于用户具体场景以及可用的技术。最简单的安装 Odoo 的方式就是使用官方的 Odoo APT 软件源。...Odoo 服务,并且开启随机启动,运行: sudo systemctl enable --now odoo13 验证服务状态: sudo systemctl status odoo13 输出将会像下面一样...这意味着,Nginx 将会处理并且解密进来的 TLS 连接(HTTPS),并且传递未被加密的请求到内部服务(Odoo)。在 Nginx 和 Odoo 之间的流量将不会被加密。...Cron 进程也需要 CPU RAM 内存大小计算 我们考虑 20%的请求是重请求,并且 80%的请求是轻量级请求。重量级请求使用将近 1GB RAM,而轻量级请求使用将近 150MB RAM。...服务,使修改生效: sudo systemctl restart odoo13 余下的系统资源将会被分配给系统其他服务使用。

    8.8K41

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

    字段(Fields) class odoo.fields.Field[源代码] 字段拥有以下属性 string (str) – 用户看到的字段的标签;如果未设置,ORM将采用类中的字段名开头字母改成大写后的...( bool) – 是否应验证图像分辨率以确保它不会超过最大图像分辨率(默认值:True。...计算字段 可以使用 compute 参数计算字段(而不是直接从数据库中读取)它必须将计算值分配给字段。...记录缓存和预取 Odoo为记录的字段维护一个缓存,这样,不是每个字段的访问都会发出数据库请求。...需要特别注意的是,需要更新的字段越多,更新速度越慢(笔者实践时发现的,但是没验证是否和字段类型有关,特别是关系字段,关系字段的更新可能会调用对应模型的write方法,该方法如果被重写了,也可能会导致耗时的增加

    13.5K10

    在Ubuntu 16.04上安装Odoo 11堆栈

    主机名分配 为了简化Linode之间的通信,请为每个服务器设置主机名。如果所有Linode位于同一数据中心,则可以使用专用IP,如果可以的话,也可以使用完全限定域名(FQDN)。...replication:指定给定用户的复制连接。此类连接不需要数据库名称。 replicauser:上一节中创建的用户。 md5:使用客户端提供的MD5加密密码进行身份验证。...测试复制 测试您的设置以检查一切是否按预期工作。...,请在主服务器上使用以下odoo用户创建测试数据库: sudo createdb -h localhost -p 5432 -U odoo helloworld 在从服务器上,使用postgres用户检查刚刚创建的新数据库是否存在...检查Odoo日志以验证Odoo服务器是否正在运行: sudo cat /var/log/odoo/odoo-server.log 备份Odoo数据库 如果Odoo堆栈的所有组件都在单个服务器上运行

    8.9K30

    odoo 开发入门教程系列-约束(Constraints)

    例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价格。 odoo提供了两种设置自动验证恒定式的方法:Python约束 and SQL约束。..., ] 练习--添加SQL约束 添加以下约束到对应模型: 房产预期价格必须为正数 房产售价必须为正数 报价必须为正数 房产标签名称和类型名称必须唯一 使用-u estate选项重新启动服务器以查看结果...可能会弹出类似以下内容的错误消息: ERROR rd-demo odoo.schema: Table 'estate_property_offer': unable to add constraint...重启服务验证 预期效果动画:https://www.odoo.com/documentation/14.0/zh_CN/_images/sql_01.gif https://www.odoo.com/...如果不满足该方法的恒定式,则该方法将引发异常: from odoo.exceptions import ValidationError ...

    1.5K20

    如何在 CentOS 8 上安装 Odoo 13

    这意味着,Nginx 将会处理并且解密进来的 TLS 连接(HTTPS),并且传递未被加密的请求到内部服务(Odoo)。在 Nginx 和 Odoo 之间的流量将不会被加密。...十、改变监听端口 这一步是可选的,但是它是一个很好的实践操作。 默认情况下,Odoo 服务监听所有网络接口的8069端口。...Cron 进程也需要 CPU RAM 内存大小计算 我们考虑 20%的请求是重请求,并且 80%的请求是轻量级请求。重量级请求使用将近 1GB RAM,而轻量级请求使用将近 150MB RAM。...服务,使修改生效: sudo systemctl restart odoo13 余下的系统资源将会被分配给系统其他服务使用。...在这篇指南中,我们将 Odoo,PostgreSQL 和 Nginx 安装在同一个服务器上。依赖于你的设置,你的服务器上还有其他的服务。

    4K20

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

    这是--db filter的目的之一:它指定如何根据所请求的主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入的主机名(%h)或访问系统所通过的第一个子域(%d)。 ...工作进程数量计算 数量规则:(#CPU * 2) + 1 Cron工作者需要CPU 1个工作进程~=6个并发用户 内存大小计算 我们认为20%的请求是繁重请求,而80%是简单请求 一个繁重的工作,当所有的计算字段都设计好了...其他请求应被代理到正常的HTTP端口 要实现这一点,您需要在Odoo前面部署一个反向代理,比如nginx或apache。...我们还将使用监控系统来测量cpu负载,并检查它是否在7到7.5之间。 ...   list_db = True   ;是否将log写入db的ir_logging表   log_db = False   ;设置模块的日志级别,可以是一组module:log_level对, 默认值是

    7.7K31

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

    继承(Inheritance) Odoo的一个强大方面是它的模块化。模块专用于业务需求,但模块也可以相互交互。这对于扩展现有模块的功能非常有用。...Odoo框架提供了实现这些操作的必要工具。...创建报价时,设置房产状态为‘Offer Received’,如果用户试图以低于已存在报价的金额创建报价时抛出错误。 提示: 可在vals中获取property_id 字段,但是它是一个int型。...'不能低于现有报价') property.state = 'Offer Received' return super().create(vals) 重启服务,刷新浏览器验证...如果不匹配任何元素或者匹配多个元素,则抛出错误 position 应用于匹配元素的操作: inside 将xpath的主体附加到匹配元素的末尾(个人理解,添加为匹配元素的子元素) replace

    2.3K20

    在云端快速构建一个 ODOO 站点

    本文主要介绍如何在腾讯云的环境下,通过简单的步骤,快速搭建一个 ODOO 的站点。...准备工作 云+校园认证通过 扫码获取50元通用代金券 检查电脑上面是否有Terminal程序 实验架构 任务一:创建一台云主机并登录 任务目标: 购买并创建一台云主机,设置云主机管理员密码,通过客户端成功登陆云主机...回车后,如果控制台询问是否继续链接“Are you sure you want to continue connecting(yes/no)?”,输入”yes“。 3)....任务二:购买一个数据库实例,并初始化 任务目标:成功创建一个云数据库实例,初始化其root密码,验证从云服务器是否可以正常的连接数据库 创建数据库实例 数据库->云数据库CDB->PostgreSQL...属于内测阶段,如果没有购买入口,可在腾讯云官网页面点击申请内测资格,审批通过后,访问 链接 创建实例 初始化数据库 服务器端安装PSQL客户端 yum install -y postgresql 验证数据库是否正常连通

    9.9K30

    Websoft9 面板的应用商店给出了答案

    企业数字化是一个系统性工程,而选择合适的工具作为切入点尤为重要。Websoft9 应用商店(如 ERP、AI、知识库等应用的一键部署能力)恰好为企业提供了"轻量级启动、模块化扩展"的数字化路径。...降低技术门槛 • 无需自建技术团队,预装应用(如 Odoo ERP、TensorFlow AI、MediaWiki 知识库)开箱即用。...第一步:构建核心业务系统(ERP) • 场景:采购-生产-销售-财务全链路数字化 • 工具推荐:Odoo ERP、ERPNext • 价值:统一数据入口,消除信息孤岛,流程自动化效率提升...知识沉淀与协作(知识库) • 场景:内部文档管理、团队协作、客户服务知识库 • 工具推荐:MediaWiki、Confluence、GitBook • 价值:标准化知识资产,减少重复性沟通,新员工培训周期缩短...• 数据互通性:选择支持 API 接口的应用(如 Odoo ERP 可对接 TensorFlow 数据分析)。• 持续迭代:从单一业务模块试点,验证效果后逐步扩展,避免一次性过度投入。

    7610

    odoo 权限管理学习总结

    为了解决上述问题,odoo采用了用户组机制。将用户划分为不同的组(一个用户可以归属多个用户组,一个用户组也可以拥有多个用户),然后给组分配权限,从而实现用户权限的管控及用户类型识别。...-> Users & Companies -> Groups),并为用户分配不同的用户组,及设置相关权限(菜单权限,视图权限,访问权限,记录规则) 此外,为了更方便的管理用户组,odoo还支持对用户组...如果一个用户属于多个用户组,那么该用户权限为用户组权限的并集,因此设计用户组权限时一定要考虑好组与组之间权限是否会发生冲突。...规则与组的关联关系存在rule_group_rel表中 global 根据“groups”计算,提供了对规则是否全局状态的轻松访问。...如果当前用户不在列出的组中,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应中删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate

    10.2K20

    在Ubuntu 16.04上安装Odoo 10

    您可以在下面的图片中看到示例输出: sudo systemctl status odoo-server 检查数据库日志以确保没有错误: sudo journalctl -u postgresql 验证服务器是否能够正常停止...CVM服务器以查看是否所有内容都按预期工作。...重新启动后,通过SSH登录并验证日记消息: sudo journalctl -u odoo-server 输出应包含一条消息,指示Odoo已成功启动。...更新Odoo 在更新Odoo系统之前,您应该检查一切是否按预期工作,尤其是第三方模块。最安全的方法是使用测试环境,这只是一个单独的Odoo安装。...检查您的测试环境 现在,您可以启动新的Odoo服务并验证错误的日志条目: sudo systemctl start odoo-server-te sudo systemctl status odoo-server-te

    3.4K42

    Odoo系统介绍和对比

    安排活动 活动安排是基于商机,销售计划是基于客户 image.png 8.记录备注 记录备注能添加关注者,不过只是发送邮件 image.png 9.摘要 摘要只是客户资料其中一项内容,没有单独做成标签...image.png 10.第三方应用(微信集成) image.png 11.微信模块 Odoo 的微信模块,提供了对微信公众号和企业号(企业微信)的接入与管理,实现了微信消息与Odoo聊天的无缝对接...: 用户、组同步管理 用户消息对接chat 一对一实时聊天 高效便捷的推送群组通知消息 全功能自定义菜单配置 各种返回消息类型的支持 灵活配置自动回复及匹配方式 支持 Odoo 8.0 到 11.0 12...的工作流系统提供: 记录(文档)随时间的演变的描述 基于各种灵活条件的自动操作 管理公司角色和验证步骤 管理对象之间的交互 通过其生命周期形成可视化的文档流表示 image.png image.png...Apex(类Java语法) Odoo针对小微企业,采用脚本语言;SalesForce的Apex是自研的,采用Java

    4K20

    Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建

    参考文档 "解决安装软件包提示Unable to find vcvarsall.bat的问题.md" 安装odoo依赖 解压下载后的odoo_14.0.latest.tar,并对解压结果目录中dist目录下的...= myodoo db_password = test123 db_port = 5432 常见命令行参数说明 -d 指定将要使用的自定义数据库名称,可以是不存在的,odoo启动时会自动初始化并创建数据库...-r ,--db_user 数据库用户名称,用于连接PostgreSQL -w , --db_password 数据库密码,如果使用 密码验证的话。...--limit-time-cpu 针对每个请求,阻止worker使用多余 CPU 时间,单位 秒 --limit-time-real 阻止worker使用多余 CPU 时间处理单个请求...站点访问验证 浏览器中打开http://localhost:8069/web/login,成功的话,可以看到如下界面 输入默认登录账号/密码:admin/admin,点击登录,可以看到如下界面 Pycharm

    3.7K40

    Odoo开发指北 02 启动项配置文件

    配置文件 [options] ;addons模块的查找路径 addons_path = /odoo/addons ;超级管理员(用于创建,还原和备份数据库的操作) admin_passwd = admin...db_password = odoo ;数据库端口 db_port = 5432 ;创建数据库是使用的数据库模板 db_template = template1 ;用户名 db_user = odoo...;一个处理器允许使用的最大虚拟内存 limit_memory_soft = None ;一个处理器接受的最大请求数 limit_request = None ;一个cpu最多占用多少处理器时间...limit_time_cpu = None ;一个请求允许的最长实时时间 limit_time_real = None limit_time_real_cron = None ;是否允许显示数据库的长度..., debug_sql, info, warn, error,critical log_level = info ;指定用来储存日志的文件 logfile = odoo.log ;是否按天存放日志

    1.2K10

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

    Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经在Odoo见过 看板,其中的记录以卡片状结构显示。...目标: 本节结束时创建一个房产的看板视图 在我们的地产应用程序中,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。... 我们添加了几个东西: t-if: 如果条件为真,渲染元素 record: 拥有所有请求字段作为其属性的对象...TypeError: Cannot read properties of undefined (reading 'value') 验证效果 让我们对视图做最后的修改:默认情况下,财产必须按类型分组。... 验证效果 看板视图是一个典型的例子,说明从现有视图开始并对其进行微调而不是从头开始总是一个好主意

    2.2K20

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

    $(ev.currentTarget).find('input').prop('checked') // 获取复选框是否框选 'custom-control-input' !...定义,这种实现方案只能在非Debug模式下正常工作,且会导致无法开启Debug模式,odoo.define实现中会对服务是否重复定义做判断,如果重复定义则会抛出JavaScript异常。...,执行复选框操作时,先禁用按钮,不允许执行确认操作,因为执行复选框触发的请求可能没那么快执行完成,前端数据可能没完全传递给后端,此时去执行操作,可能会导致预期之外的结果。...所以,等请求完成再启用按钮。...> odoo14\custom\estate\__manifest__.py 加载自定义模板文件,进而实现自定义js文件的加载 #!

    5.3K60
    领券