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

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

例如,在我们的房地产模块中,没有什么可以阻止用户设置负预期价格。 odoo提供了两种设置自动验证恒定式的方法:Python约束 and SQL约束。...SQL约束是确保数据一致性的有效方法。然而,可能需要进行更复杂的检查,这需要Python代码。在这种情况下,我们需要一个Python约束。...Python约束定义为用 constrains()修饰的方法,并在记录集上调用。修饰符指定约束中涉及哪些字段。当修改这些字段中的任何字段时,将自动计算约束。...预期效果动画:https://www.odoo.com/documentation/14.0/zh_CN/_images/python.gif SQL约束通常比Python约束更效率。...当性能很重要时,总是首选SQL约束而不是Python约束。

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

    使用pycharm搭建ODOO12开发调试环境(WIN10系统下)

    摘要 使用pycharm搭建ODOO12开发调试环境(WIN10系统下) 一.安装python3.6.5 PYTHON官网最新版为Python 3 Release - Python 3.7.2 下载稳定版...      5.2.1   html2text       2016.9.19   idna            2.8   Jinja2          2.8.1   ……   5)安装和卸载开发包(如requests...requests   (myodoo) C:\Users\surface>pip uninstall requests   这里要说明的是,如果要批量安装,定位到文件requirements.txt,如:...本项目中,ODOO12所需要的依赖库在requirements.txt中,进行批量安装。...We框架、Python分析器、远程开发、支持数据库与SQL等更多高级功能,这些事社区版中没有的 C003.png 安装过程根据提示操作,安装完成后,利用http://idea.imsxm.com进行激活

    2.6K61

    在Ubuntu 16.04上安装Odoo 10

    和其他必要的服务器库: sudo apt install git python-pip postgresql postgresql-server-dev-9.5 python-all-dev python-dev...安装Python依赖项 安装所需的Python库: sudo pip install -r /opt/odoo/doc/requirements.txt sudo pip install -r /opt...对于正常安装,您可以跳过此行,并且此Odoo实例将默认连接到端口8069。 注意 如配置日志部分中所述,在Ubuntu 16.04中有很多Odoo日志记录选项。...请记住,journald将始终捕获主要的Odoo服务活动(服务启动,停止,重新启动,错误),使用单独的日志文件将仅排除日志“信息”消息,如Web服务器消息,呈现引擎等。...腾讯云关系型数据库提供 MySQL、SQL Server、MariaDB、PostgreSQL 数据库引擎,并针对数据库引擎的性能进行了优化。

    3.4K42

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

    Odoo提供了一个开发票模块,因此直接从我们的房地产模块创建发票是很简单的,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序中创建发票 一个具体示例: 记账凭证(Account.../usr/bin/env python # -*- coding:utf-8 -*- from . import estate_property odoo14\custom\estate_account.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models class InheritedEstateProperty(models.Model...不幸的是,没有一种简单的方法可以知道如何在Odoo中创建任何给定的对象。大多数时候,有必要查看其模型,以找到所需的字段并提供适当的值。 学习的一个好方法是看看其他模块是如何完成你想做的事情的。.../usr/bin/env python # -*- coding:utf-8 -*- from odoo import models from odoo.exceptions import UserError

    1.7K10

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

    在介绍特定的Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法的行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...事实上,多亏经典的Python继承,我们的模型中已经包含了这样的操作: from odoo import fields, models class TestModel(models.Model):...Python 3中, super() 等价于 super(TestModel, self)。当你需要使用一条被修改后的结果集调用父方法时,可能需要使用后者。...第一继承机制允许模块通过以下方式修改在另一个模块中定义的模型的行为: 向模型添加字段 覆盖模型中字段的定义 给模型添加约束 给模型添加方法 重写模型中的现有方法 第二种继承机制...odoo中,第一种机制最常用。在我们的例子中,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。

    2.3K20

    ​在tinycolinux上编译odoo8

    最后,odoo采用python,要谈到语言的优异对比足于掀起大论战了,我不重复那些聚焦语言内部如何pythonic的老话题,只讲几条外部特征: 1,C系和原生程序,是基本所有现实中可见系统实现的基石,但...编译lnpp的python+uswgi和postgresql ----- 接《为tinycolinux创建应用和lnmp-源码和toolchain》文,我们这次是编译python,除了那文中gcc中需要的...因为不这样做稍后在安装完odoo在base中建立odoo数据库时会提示:new encoding (UTF8) is incompatible with the encoding of the template...database (SQL_ASCII) 在lnpp中安装精简odoo,python模块和配置uswgi和nginx参数 ----- 我们先安装odoo再来处理python,这样运行它时可以逐个通过pip...sudo -u tc /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data 好了,进入odoo怎么应用和操作又是一种境地了,odoo所有的操作中

    1.4K40

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

    Odoo启动项 常用启动项 自动升级模块,指定配置文件和数据库 -c 配置文件路径 -d 数据库名 -u 模块名(或all) 服务端开发者模式 pip install watchdog 启动命令加上 -...-dev=all 这启用了一些有用的功能可加快开发流程,最重要的如下: 在保存 Python 文件时自动重载 Python 代码,避免手动重启服务 从 XML 中直接读取 view 定义,避免手动升级模块...INFO(表示所有模块的默认日志级别为INFO级别) log_handler = :INFO ;日志的级别, 可选值包括debug_rpc_answer, debug_rpc, debug, debug_sql...;长连接池使用的端口号 longpolling_port = 8072 ;处理当前计划任务的最大线程数 max_cron_threads = 2 ;强制保存在virtual osv_memory表中的记录最长的时间...,以小时为单位 osv_memory_age_limit = 1.0 ;强制保存在virtuall osv_memory表中的最大记录数 osv_memory_count_limit = False

    1.2K10

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

    这也是我们第一次编写Python逻辑。到目前为止,除了类定义和字段声明之外,我们还没有编写任何其他东西。...本章目标 在房地产模型中,自动计算总的面积和最佳报价 预期效果: 在地产报价模型中,自动计算合法的日期且可被更新 在我们的房地产模块中,我们定义了生活区和花园区。...到目前为止,字段已直接存储在数据库中并直接从数据库中检索。字段也可以被计算。在这种情况下,不会从数据库中检索字段的值,而是通过调用模型的方法来动态计算的字段的值。...支持标准Python集合运算,比如len(self) 和iter(self), 外加其它集合操作,比如 recs1 | recs2。...此外,当“花园”字段未设置时,我们希望花园面积和重置为零,并删除朝向。在这种情况下,给定字段的值会影响其他字段的值。

    3.2K30

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

    这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。...本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 <?xml version="1.0"?...然而,菜单总是遵循一种体系结构,实际上有三个层次的菜单: 根菜单,显示在App切换器中(Odoo社区版切换器是一个下拉菜单) 第一级菜单,显示在顶部栏中 动作菜单 最容易的方式是在XML文件中定义结构来创建菜单...我们看到一些属性,如required=True,会影响数据库中的表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。...字段定义中,添加 default=X, 其中的X 可以是Python文本值(boolean, integer, float, string) ,也可以是一个以model对象自身为入参并返回一个值的函数:

    3K30
    领券