使用 TransientModel 设置和获取 Odoo 存储数据

2024-03-12

我正在尝试在 odoo 中存储配置数据,我需要存储 3 个对“account.journal”的引用。 模型是在数据库中创建的,视图显示在配置基本菜单中,当我按下“应用”按钮时,数据存储在数据库中,但当我重新加载菜单时,数据不会显示

代码使用:

from openerp import fields, models, osv, api, _

class Configuration(models.TransientModel):
    _inherit = 'res.config.settings'
    _name = 'transporte_carta_de_porte.config.settings'

    ft_mercaderia = fields.Many2one(
        'account.journal',string='Debito ft mercaderia',
        help="Diario de ajuste al transportista por faltante de mercaderia")
    ade_transportista = fields.Many2one(
        'account.journal',string='Debito por adelanto transportista',
        help="Diario de debito al transportista por faltante de adelanto")
    ade_proveedor = fields.Many2one(
        'account.journal',string='Debito por adelanto proveedor',
        help="Diario de debito por adelanto en la cuenta del proveedor de combustible",)

布局

<record id="view_tcp_config_settings" model="ir.ui.view">
    <field name="name">TCP settings</field>
    <field name="model">transporte_carta_de_porte.config.settings</field>
    <field name="arch" type="xml">
        <form string="TCP settings" class="oe_form_configuration">
            <sheet>
                <div>
                    <button string="Apply" type="object" name="execute" class="oe_highlight" />
                    or
                    <button string="Cancel" type="object" name="cancel" class="oe_link" />
                </div>
                <group string="Journals Settings">
                    <field name="ft_mercaderia" />
                    <field name="ade_transportista" />
                    <field name="ade_proveedor" />
                </group>
            </sheet>
        </form>
    </field>
</record>

<record id="action_tcp_configuration" model="ir.actions.act_window">
    <field name="name">TCP Configuration</field>
    <field name="res_model">transporte_carta_de_porte.config.settings</field>
    <field name="priority" eval="50" />
    <field name="view_mode">form</field>
    <field name="target">inline</field>
</record>

<menuitem id="menu_tcp_config" name="TCP Settings" parent="base.menu_config" action="action_tcp_configuration" />

每次我为字段选择一个值并按下“应用”时,都会创建一条新记录,而不是修改第一个创建的记录,并且没有人加载视图负载。 谢谢阅读!


TransientModels 被设计为临时的,只是为了让您可以获得值并用它们做任何您想做的事情。它们会定期从数据库中删除。

您需要实施自己的方法来保存这些设置。您需要实现(至少)两种方法:

  • set_foo(其中 foo 是任意字符串)用于保存值。
  • get_default_foo(其中 foo 再次是任意字符串)用于获取保存的值(用于在配置用户界面中显示它们)

一个简单的例子:

class AgeLimitSetting(models.TransientModel):
    _inherit = 'res.config.settings'

    min_age = fields.Integer(
        string=u"Age limit",
    )

    @api.model
    def get_default_age_values(self, fields):
        conf = self.env['ir.config_parameter']
        return {
            'min_age': int(conf.get_param('age_verification.min_age')),
        }

    @api.one
    def set_age_values(self):
        conf = self.env['ir.config_parameter']
        conf.set_param('age_verification.min_age', str(self.min_age))

ir.config_parameter(提供set_param and get_param方法)只是 Odoo 中内置的一个简单的键值存储,可让您存储任意字符串。我用它作为示例,但实际上您可以将设置存储在任何您喜欢的地方。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 TransientModel 设置和获取 Odoo 存储数据 的相关文章

  • Hadoop 集群设置 - java.net.ConnectException:连接被拒绝

    我想在伪分布式模式下设置一个hadoop集群 我设法执行了所有设置步骤 包括在我的计算机上启动 Namenode Datanode Jobtracker 和 Tasktracker 然后我尝试运行一些示例程序并面临以下问题java net
  • 如何使 Application.Properties.Settings 公开并保持这种状态

    我正在将我的应用程序设置集中到一个位置 并且我选择使用公共库中的设置集合来执行此操作 我已将所有这些设置移至它们自己的文件中 该文件使用配置源拉入我的 app config 中
  • 如何使用 .Net 处理程序处理 .asp 扩展名?

    我有一个旧的经典 ASP 网站 我正在将其迁移到 IIS7 5 我不想在服务器上安装经典 ASP 因此我只想将 asp 文件视为 aspx 文件 我该如何在 IIS7 5 中执行此操作 编辑 澄清一下 我并不是在问如何让经典的 ASP 代码
  • 在Python交互窗口VSCode中交换shift-enter和回车

    In the interactive window in vscode you press shift enter to run the code you just typed and enter to go to the next lin
  • 如何加密配置文件、grails [和 java] 中的密码

    我正在寻找如何在 grails 中逐步保护配置文件中的密码 这意味着保护 Config groovy 和 DataSource groovy 中的密码 有很多谷歌结果包含了一些答案 但没有关于如何做到这一点的简明指南 有人可以指出我正确的方
  • 客户端Web - 如何随时获取当前记录ID

    我正在努力 基于工作流程状态的不同权限 https stackoverflow com questions 10994216 different permissions based on workflow state问题 但我正在努力解决这
  • 排除 Jacoco 覆盖率报告中的文件

    我一直在尝试从生成的覆盖率报告中删除某些文件 我尝试了以下事情
  • Android 远程或推送配置文件

    我正在寻找一种通过 Web URL 链接配置 Android 邮件帐户的解决方案 Android 设备管理 API 自 2 2 起 限制非常严格 不包括邮件帐户配置 在iOS上 有配置文件系统 您只需下载它即可配置您的 iOS 设备 但是对
  • 从流而不是文件加载配置文件

    我使用 OpenMappedExeConfiguration 和 ExeConfigurationFileMap 来加载配置文件 它们的重载表明它们只适用于文件名 有没有办法从流加载配置文件 背景 我想加载存储为嵌入式资源的配置文件 没有文
  • Symfony 2 加载自定义配置文件

    我想在 Bundle Resources config 中添加一个新的配置文件 我试过以下http symfony com doc current cookbook bundles extension html http symfony c
  • 从外部 php 系统登录 Odoo

    我有一个要求 我需要从外部 php 系统重定向到 Odoo 并且用户也应该登录 我想到了以下两种方法来完成此任务 来自 php 端的 url 重定向 它调用特定的控制器 并沿着 url 传递凭据 由于显而易见的原因 这不是一个安全的选项 从
  • App.config - 加密部分错误:

    我有一个对配置文件中的部分进行加密的应用程序 当我第一次尝试从配置文件中读取加密部分时 我收到一条错误消息 无法识别的属性 configProtectionProvider 请注意 属性名称区分大小写 config Configuratio
  • 如何解决此 Log4J 导入错误(也与类路径相关)?

    当我运行以下简单的 log4J 示例时 出现错误 import org apache logging log4j core import java io import java sql SQLException import java ut
  • WebLogic 桥消息:“Web 服务器桥失败:没有可用于连接的后端服务器...”

    我有一个在 Oracle WebLogic 上运行的应用程序 来自供应商的打包软件 有一些操作 如果我尝试它们 我总是会收到以下错误页面 WebLogic 桥消息 Web 服务器桥失败 没有可用于连接的后端服务器 10 秒后超时或幂等设置为
  • 在 odoo12 的表单视图中隐藏操作/更多按钮

    我想在 odoo12 中仅隐藏操作 更多按钮而不是打印按钮 我发现一些类似的问题在 odoo12 中不起作用 不是一个像样的答案 而是你的一个方向 源码中 我的版本是11 odoo 11 0 addons web static src js
  • 如何从 App.Config 文件设置 CultureInfo.CurrentCulture?

    我需要通过 App Config 文件设置应用程序的区域性 以便自动使用 pt BR 来解析日期 而无需手动告知每个操作的区域性 据我所知 有一个globalization可以在内部定义的部分system webWeb Config 文件中
  • XML-RPC Odoo - C# 多个搜索条件

    当使用 CookComputing XML RPC net 尝试仅使用一个条件搜索 mail notification 模型时 这相当简单 因为您只需调用 object args new object 1 object subargs ne
  • pgadmin4 : 无法联系 postgresql 应用程序服务器。

    我在 Windows 8 1 上安装了 PostgreSQL 9 6 2 但 pgadmin4 无法联系本地服务器 我尝试了 stackoverflow 中建议的几种解决方案 尝试卸载并重新安装 PostgreSQL 9 6 2 尝试修改
  • 如何导出 WAS 6.1 服务器配置

    有没有一种方法可以从 WAS 在 RAD 6 下运行 导出我的服务器设置 以便其他开发人员能够使用相同的脚本来设置他们的环境 要手动执行此操作 请在RAD 6 x 只需右键单击 服务器 视图中的服务器名称并选择以下选项之一 Export s
  • 如何使用嵌入的清单作为资源? (Windows XP/Vista 风格的控件)

    我有一个作为 Windows 资源嵌入的清单 但正确的应用方法是什么 进一步来说 我有我的 manifest 文件 这是使应用程序使用 Windows XP Vista 视觉样式中的控件的标准方法 当通过与 exe 位于同一目录并适当命名来

随机推荐

  • 此错误是什么意思“NATURAL join 中使用的列不能有限定符”

    执行下面的代码后 我收到 ORA 25155 错误 SELECT p prod id prod name prod list price quantity sold cust last name FROM products p NATURA
  • 使用计数器和条件结束循环

    在Python中 我可以实现一个带有步数计数器和停止条件的循环作为经典案例for loop for i in range 50 result fun i print i result if result 0 break where fun
  • Jquery 在 onload 上执行 onchange 事件

    我有一个函数 可以在更改事件时运行后期操作 select marca change function var marca select marca option selected attr value select modello html
  • 从 webWorker 访问 localStorage

    WebWorker 可以访问 localStorage 吗 如果不是为什么不呢 从安全角度来看有问题吗 Web Worker 只能访问以下内容 XMLHttpRequest https developer mozilla org en US
  • java.net.SocketException:使用 HTTPConnection 重置连接

    我正在尝试使用一些外部 API 来获取一些数据 当数据量很小时 一切正常 但是当 API 返回的数据量很大时 我得到连接重置例外 下面的代码来自java类InterfaceHelper 我还在出现异常的行no处标记了注释 它在尝试从 Inp
  • 将 Backbone.sync 扩展为批量同步?

    应使用什么技术来实现 Backbone sync 的批量插入 更新 我想这取决于你的使用场景 以及你想改变多少调用代码 我认为你有两个选择 选项 1 不更改客户端 调用 代码 奇怪的是 注释Backbone sync 的来源 http ba
  • 模板,仅在头文件中编码?

    最近我了解到 如果我想使用模板 我应该只在头文件中实现代码 我知道有解决方案可以在 h 和 cpp 文件中执行此操作 但假设我不想这样做 我应该将所有代码写入 h 文件中吗 即使程序可能很大 这是一种编写代码的好方法吗 另外 只有 h文件
  • Django 全局查询集

    我想在我的 django 应用程序中有一个全局变量 用于存储我稍后在某些函数中使用的对象的结果列表 并且我不想多次评估查询集 我这样做 from app models import StopWord a list StopWord obje
  • 如何修复尝试使用 Git 推送时出现的“remote: fatal error in commit_refs”错误?

    当我尝试推动master托管于的分支https github com https github com I get 远程 commit refs 中出现致命错误 我该如何解决这个问题 就我而言 当我尝试推送时 GitHub 已经宕机了 只需
  • 在docker中使用overlay使用多主机网络功能是否需要swarm

    我已按照以下示例进行操作开始覆盖 https docs docker com engine userguide networking get started overlay 我有一个简单的查询 是否可以使用覆盖的多主机网络功能而无需创建sw
  • Gradle 错误:意外的输入:android.gms:play-services

    在运行时在 Gradle 中显示错误 错误 任务 app transformClassesWithInstantRunForDebug 执行失败 意外输入 ImmutableJarInput name com google android
  • 使用 Boost 序列化和反序列化 JSON

    我是 C 新手 序列化和反序列化类型数据的最简单方法是什么std Map using boost 我找到了一些使用的例子PropertyTree但它们对我来说很模糊 注意property tree将键解释为路径 例如放置 a b z 对将创
  • 使用 numpy 和/或 scipy 插值 3D 体积

    我非常沮丧 因为几个小时后我似乎无法在 python 中进行看似简单的 3D 插值 在Matlab中我所要做的就是 Vi interp3 x y z V xi yi zi 使用 scipy 的 ndimage map coordinate
  • 不明确的列名

    我有以下 SQL 它抛出错误 Ambigously column name id select tbl registration tbl ebp name as ebp name tbl Users id as user id tbl eb
  • 错误在 Rails 中显示两次

    我正在使用 Carrierwave 上传用户模型中的个人资料图片 如果用户尝试上传任何非图像文件 则必须引发错误 但是 该错误在屏幕上显示两次 请帮忙 用户模型代码类 User include CarrierWave MiniMagick
  • NVD3 工具提示内容不起作用

    我在我的项目中使用 NVD3 库 并且编写了以下代码 var chart nv models lineChart useInteractiveGuideline true margin top 50 right 50 bottom 50 l
  • 使用 webMessageEncoding 的 webHttpBinding:如何配置?

    我有一个 REST WCF 服务 它使用 webHttpBinding 并且配置如下所示
  • Dart的built_value库,如何在flutter中生成序列化器文件?

    我添加了built value 依赖项 我已经创建了一个文件serializers dart与序列化器字段 我已将我的数据类之一转换为所需的格式 我如何实际构建项目来生成serializers g dart file Thanks 在最近的
  • 灰度背景图像上重叠索引图像的颜色图和颜色条?

    我使用以下示例代码将索引图像覆盖在背景图像上 在下面的示例中 它是 RGB 但对于我的问题 背景是灰色 sacle 图像 那么我的问题是 如何在重叠图像的一侧显示颜色条 颜色条应该是重叠索引图像的颜色条 而不是背景图像的颜色条 如何固定重叠
  • 使用 TransientModel 设置和获取 Odoo 存储数据

    我正在尝试在 odoo 中存储配置数据 我需要存储 3 个对 account journal 的引用 模型是在数据库中创建的 视图显示在配置基本菜单中 当我按下 应用 按钮时 数据存储在数据库中 但当我重新加载菜单时 数据不会显示 代码使用