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

如何在Odoo 12中的json控制器中获取特定记录

在Odoo 12中的json控制器中获取特定记录,可以通过以下步骤实现:

  1. 首先,确保你已经创建了一个json控制器。你可以在Odoo模块的controllers目录下创建一个新的Python文件,并在其中定义一个控制器类。
  2. 在控制器类中,你需要导入必要的模块和类。例如,你可以导入werkzeug.wrappers.Response类来构建HTTP响应,以及odoo.http.Controller类来定义控制器。
  3. 在控制器类中,你需要定义一个处理请求的方法。你可以使用@http.route装饰器来指定路由和HTTP方法。例如,你可以使用@http.route('/get_record', type='json', auth='public', methods=['POST'])来定义一个路由。
  4. 在处理请求的方法中,你可以通过request.jsonrequest属性获取请求的JSON数据。这个JSON数据应该包含用于获取特定记录的条件。
  5. 使用Odoo的ORM(对象关系映射)来查询数据库并获取特定记录。你可以使用env['model.name'].search()方法来执行查询。在查询中,你可以使用Odoo的域语法来指定条件。
  6. 将查询结果转换为JSON格式,并构建一个HTTP响应返回给客户端。你可以使用json.dumps()方法将查询结果转换为JSON字符串,然后使用Response()类构建一个HTTP响应对象。

以下是一个示例代码,展示了如何在Odoo 12中的json控制器中获取特定记录:

代码语言:txt
复制
from odoo import http
from odoo.http import Response
import json

class MyController(http.Controller):
    
    @http.route('/get_record', type='json', auth='public', methods=['POST'])
    def get_record(self, **kw):
        # 获取请求的JSON数据
        json_data = http.request.jsonrequest
        
        # 从JSON数据中获取条件
        condition = json_data.get('condition')
        
        # 使用ORM查询数据库并获取特定记录
        records = http.request.env['model.name'].search(condition)
        
        # 将查询结果转换为JSON格式
        json_records = records.read(['field1', 'field2', 'field3'])
        
        # 构建HTTP响应对象
        response = Response(json.dumps(json_records), content_type='application/json')
        
        return response

请注意,上述代码中的model.name应该替换为你要查询的模型的名称。另外,你还可以根据需要调整查询条件和返回的字段。

希望这个答案能够帮助你在Odoo 12中的json控制器中获取特定记录。如果你需要更多关于Odoo的帮助,请参考Odoo官方文档

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页内联tree视图("Offers" Tab页)列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...TransientModel类扩展Model并重用其所有现有机制,具有以下特殊性: wizard记录不是永久;它们在一定时间后自动从数据库删除。...获取数据,代码略(假设获取数据存放在 data 变量) record_ids = [] for id, value_dict in data.items(...,供web端使用,用于区分不同页面操作数据,'estate.property.offer_3'为供web端使用记录ID,'data'键值代表记录数据,其id键值代表记录在数据库主键id,context...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取记录存到浏览器sessionStorage,可选 odoo14\custom\estate

5.3K60
  • Odoo开发指北 01 初识Odoo

    客户端通过JSON-RPC或者XML-RPC与服务器进行通信。 开发 实现功能 数据访问功能:信息增删查改。...工作流开发:用软件表达企业层级工作协作关系。有两种方式:XML方式定义、可视化拖拽编程定义。 报表开发:把系统数据以特定形式输出打印。主要有:文档报表、图形报表等。...然后使用自己模块:把自己模块路径设置到odoo,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...Odoo提供ORM接口匹配,也就是说这些模型类会自动存入sql。...security:对模块访问权限控制,在ir.model.access.csv文件定义。还可以新建一个record_rule.xml,在其中进行更细化权限控制。

    2.4K30

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

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

    2.3K80

    在Ubuntu 16.04上安装Odoo 10

    )并根据您需要进行修改。...您选择选项取决于您特定需求: 要同时使用日志和单独Odoo日志文件,请创建相应目录: sudo mkdir /var/log/odoo 要仅使用journald用于日志记录,您不需要创建任何目录...请参阅Odoo存储库以获取最新兼容版本列表: sudo wget https://downloads.wkhtmltopdf.org/0.12/0.12.1/wkhtmltox-0.12.1_linux-trusty-amd64...对于正常安装,您可以跳过此行,并且此Odoo实例将默认连接到端口8069。 注意 配置日志部分中所述,在Ubuntu 16.04有很多Odoo日志记录选项。...请记住,journald将始终捕获主要Odoo服务活动(服务启动,停止,重新启动,错误),使用单独日志文件将仅排除日志“信息”消息,Web服务器消息,呈现引擎等。

    3.3K42

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

    在介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...在我们房地产模块,我们从不需要开发任何特定东西来执行标准CRUD操作。...创建报价时,设置房产状态为‘Offer Received’,如果用户试图以低于已存在报价金额创建报价时抛出错误。 提示: 可在vals获取property_id 字段,但是它是一个int型。...(委托)允许将模型每个记录链接到父模型记录,并提供对该父记录字段透明访问。...,作为同级元素 attributes 使用xpath主体特定属性元素更改匹配元素属性 当匹配单个元素时,可以直接在要查找元素上设置position属性。

    2.2K20

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

    它注册为ir.property,也就是说它值存储在ir_property表,通过查询该表来获取该字段值。...odoo.fields.Char类型 odoo.fields.active 切换记录全局可见性,如果active设置为False,则记录在大多数搜索和列表不可见。...这通常用于垃圾收集之类不需要特定cron作业任务 odoo.api.constrains(*args)[源代码] 装饰一个约束检查器 每个参数必须是校验使用字段名称: @api.constrains...注解 因为必须重新评估记录规则和访问控制,所以新记录集将不会从当前环境数据缓存受益,因此以后数据访问可能会在从数据库重新获取时产生额外延迟。返回记录集具有与self相同预取对象。...如果未提供或者为[]则表示所有 Model.fields_view_get([view_id | view_type='form'])[源代码] 获取所请求视图详细组成,字段、模型、视图架构

    13.5K10

    使用Kompose从Docker Compose 迁移到 Kubernetes

    代码库是否在容器化环境运行呢? 这很好 ! 但是如何使它可用?...生成未填写字段必须填写。例如,在我们示例Odoo CRM 需要其 URL,以便 Traefik 重定向到它。...原因很容易猜到:由于数据存储是特定于每个基础架构,并且每个公司在可用性和归档方面都有特定需求,因此很容易理解,Kompose 不希望就此主题给出任何特别的建议。。...此外,将模拟容器配置traefik ,以便在功能上对应于所请求内容:在特定端口上打开服务,并允许在容器给定端口上接收请求。...使用您自己流重定向系统需要您确定自己在做什么,因为您最终将不得不处理特定于该网络层实现问题。帮助调试资源将更难找到。 另一个副作用:在部署.

    3.6K30

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

    本文主要介绍如何在腾讯云环境下,通过简单步骤,快速搭建一个 ODOO 站点。...准备工作 云+校园认证通过 扫码获取50元通用代金券 检查电脑上面是否有Terminal程序 实验架构 任务一:创建一台云主机并登录 任务目标: 购买并创建一台云主机,设置云主机管理员密码,通过客户端成功登陆云主机...在pssword后输入密码,密码为管理员账号密码,回车后即完成登录。 注:管理员账号初始密码在上面购买过程设置过,用户也可以重置密码,详见管理员账号密码重置。.../log/odoo.log logrotate = True log_handler = :INFO pidfile = /data/odoo/proc/odoo.pid 创建ODOO运行环境需要目录...同时可以通过查看/data/odoo/log/odoo.log文件浏览系统日志 初始化结束,页面会自动跳转到应用页面,如下: 这样一个基本ODOO框架就搭建完成。 参考:Odoo 文档

    9.9K30

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

    这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件记录来定义。...它可以用于引用记录(不需要知道其在数据库标识符)。...view_mode 可获取视图。本例为列表(树)和表格视图。 odoo到处都可以找到例子,但是这个 简单action好例子。关注XML 数据文件结构,因为你在后续练习中会用到。 <?...,直接从action获取,即为action属性值 练习 添加菜单 在合适目录(本例odoo14/custom/estate/models/views)创建 estate_menus.xml 文件...我们看到一些属性,required=True,会影响数据库表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。

    3K30

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

    在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是在带有操作和菜单XML文件定义。...尽管它们适用于特定模型,但它们用于过滤其他视图内容(通常是聚合视图,比如列表). 除了在使用方面的不同,他们定义方式是一样。 搜索视图根元素为。...在odoo,domain对记录条件进行编码:domain是用于选择模型记录子集条件列表。每个条件都是一个包含字段名、运算符和值三元组。...如果指定字段满足作用于值运算符条件,则记录满足条件。...>', 1000)] 默认情况下,条件与隐式AND组合在一起,这意味着记录匹配一个domain,需要满足domain每个条件。

    3.3K40

    在Ubuntu 16.04上安装Odoo 11堆栈

    要打开特定端口,您可以使用: sudo ufw allow 22/tcp 有关防火墙设置更多详细信息,请阅读我们指南如何使用UFW配置防火墙。...all:匹配服务器所有数据库。如果您事先了解它们,则可以提供特定Odoo数据库名称(如果有多个,则用逗号分隔)。 odoo:负责应用程序/数据库通信Odoo用户。...wal_keep_segments:pg_xlog目录中保留过去日志文件段最小数量,以防备用服务器(从节点)需要获取它们以进行流复制。...配置日志 本指南中示例使用单独文件来记录Odoo活动: sudo mkdir /var/log/odoo 安装Odoo 11 安装git: sudo apt install...使用上面介绍方法,您将在同一版本更新Odoo应用程序,而不是升级到较新Odoo版本。

    8.9K30

    odoo 权限管理学习总结

    res_partner表,那么在odoo如何区分用户类型以及如何做权限控制呢?...(2, ID, values) 使用values字典值更新id值=ID现有记录 (2, ID) 删除id=ID这条记录(调用unlink方法,删除数据及整个主从数据链接关系) (3, ID) 删除主从数据链接关系但是不删除这个记录...(5)再循环执行(4, ID)) 拓展: odoo中有个特殊组base.group_no_one,需要开启Debug模式才可获取该组权限。...默认允许记录规则:如果授予模型访问权限(Access Rights),并且没有规则适用于用户操作和模型,则授予访问权限 记录规则保存在ir.rule模型表里,我们通过管理ir_rule表记录,即可控制记录访问权限...company_ids 当前用户可以访问公司ID列表(非记录集)。 查看Security rules 获取更多详细信息。

    10.2K20

    odoo 开发入门教程系列-一个新应用

    一个新应用 房地产广告模块 假设需要开发一个房地产模块,该模块覆盖未包含在标准模块集中特定业务领域。...列表记录详情页,第一个tab包含了房产描述信息,比如:bedrooms, Living area, Garage,Garden 第二个tab页,列出了房产报价。...Goal: 该小节目标是让odoo识别我们新模块,一个空壳。它将显示在Apps 创建模块第一步:新建一个目录。...odoo框架会确保depends配置依赖模块在我们模块被安装之前安装。 而且,如果这些模块某个依赖被卸载,我们模块及其它任何依赖它模块都会被卸载。...服务: python odoo-bin --addons-path=custom,odoo/addons -r myodoo -w test123 -d odoo 验证 浏览器页面访问Apps, 点击搜索

    1.3K10
    领券