浅谈eval 在odoo模板(py3o)中的妙用 (本例是在odoo12下的py3o环境中用libreoffice7测试通过)

这篇具有很好参考价值的文章主要介绍了浅谈eval 在odoo模板(py3o)中的妙用 (本例是在odoo12下的py3o环境中用libreoffice7测试通过)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

${eval("env['ss.purchase.exchange.rate'].search([('currency_id', '=', 'USD'), ('crawler_day', '=', datetime.datetime(object.delivery_order_id.ATD.year, object.delivery_order_id.ATD.month, 1).strftime('%Y.%m.%d'))], limit=1).rate or None", {'env': objects.env, 'object': object, 'datetime': __import__('datetime')})}

这段代码是在使用 eval 函数执行一个表达式,该表达式在 Odoo 的环境中搜索 'ss.purchase.exchange.rate' 模型的记录。

搜索的条件是 currency_id 字段等于 'USD',并且 crawler_day 字段等于给定的日期。给定的日期是 object.delivery_order_id.ATD 的年、月和第一天,格式化为 YYYY.MM.DD 格式。

如果找到匹配的记录,就返回该记录的 rate 字段的值,否则返回 None。

翻译成人话: 查询给定日期中,所在月份的第一天,也就是查询日期所在月的第一天。如果找到记录则返回,否则返回None

下面是这段代码的详细解释:

- eval 是 Python 的内置函数,用于执行字符串形式的表达式,并返回结果。
- "env['ss.purchase.exchange.rate'].search([('currency_id', '=', 'USD'), ('crawler_day', '=', datetime.datetime(object.delivery_order_id.ATD.year, object.delivery_order_id.ATD.month, 1).strftime('%Y.%m.%d'))], limit=1).rate or None" 是要执行的表达式,它是一个字符串。
- {'env': objects.env, 'object': object, 'datetime': __import__('datetime')} 是 eval 函数的第三个参数,它是一个字典,定义了表达式中可以使用的变量。


- env['ss.purchase.exchange.rate'].search([('currency_id', '=', 'USD'), ('crawler_day', '=', datetime.datetime(object.delivery_order_id.ATD.year, object.delivery_order_id.ATD.month, 1).strftime('%Y.%m.%d'))], limit=1) 是在 Odoo 的环境中搜索 'ss.purchase.exchange.rate' 模型的记录,搜索条件是 currency_id 字段等于 'USD',并且 crawler_day 字段等于给定的日期。
- datetime.datetime(object.delivery_order_id.ATD.year, object.delivery_order_id.ATD.month, 1).strftime('%Y.%m.%d') 是将 object.delivery_order_id.ATD 的年、月和第一天格式化为 YYYY.MM.DD 格式的日期。
- .rate or None 是获取搜索到的记录的 rate 字段的值,如果没有找到记录,就返回 None。文章来源地址https://www.toymoban.com/news/detail-711505.html

到了这里,关于浅谈eval 在odoo模板(py3o)中的妙用 (本例是在odoo12下的py3o环境中用libreoffice7测试通过)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL 中的 CASE 表达式妙用,涨姿势了。。

    历史考试选择题:黄花岗起义第一枪谁开的? A宋教仁 B孙中山 C黄兴 D徐锡麟,考生选C。 又看第二题:黄花岗起义第二枪谁开的? 考生傻了,就选了个B。 接着看第三题:黄花岗起义中,第三枪谁开的? 考生疯了,胡乱选了A。 考试出来就去找出卷老师。老师拿出课本说:黄兴连

    2024年02月03日
    浏览(42)
  • 算法通关村——位运算在查找重复元素中的妙用

    给定一个数组,包含从1到N的整数,N最大为32000,数组可能还有重复值,且N的取值不定,若只有4KB的内存可用,该如何打印数组中所有重复元素。 如果不要求使用4KB,最简单就是使用N长的数组然后将元素都存入数组,再打印,但是题目规定了4KB,很显然这种做法就不大行了

    2024年02月10日
    浏览(45)
  • MVSNet、PatchMatchNet中的 eval.sh文件超参数解释

    下面以PatchMatchNet为例, 打开PatchMatchNet程序中的 eavl.sh文件, 可以看到文件设置了数据集路径,及超参数设置(超参数,也可以不写,会使用默认参数) 上图中各参数意思如下:

    2024年02月17日
    浏览(49)
  • pycharm创建py文件时自动添加基础信息--模板

    在图片中加入下面基本信息,这些基本信息可以自己定义:

    2024年02月09日
    浏览(36)
  • 深入理解PyTorch中的train()、eval()和no_grad()

    ❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博相关......)👈 (封面图由文心一格生成) 在PyTorch中,train()、eval()和no_grad()是三个非常重

    2023年04月08日
    浏览(47)
  • WPF之浅谈数据模板(DataTemplate)

    简而言之,数据模板能让你更方便、更灵活的显示你的各类数据。只有你想不到,没有它做不到的(感觉有点夸张,实践之后,你就觉得一点不夸张 😎)。 直接对比下效果: 无数据模板 应用了数据模板 好了,下面我们一步一步来看看数据模板如何做到化腐朽为神奇的!

    2024年02月08日
    浏览(39)
  • 浅谈WPF之控件模板Control Template和数据模板Data Template

    WPF不仅支持传统的Windows Forms编程的用户界面和用户体验设计,同时还推出了以模板为核心的新一代设计理念。在WPF中,通过引入模板,将数据和算法的“内容”和“形式”进行解耦。模板主要分为两大类:数据模板【Data Template】和控件模板【Control Template】 基本上,ControlT

    2024年02月03日
    浏览(34)
  • python如何在一个py文件中调用另一个py文件中的方法

    要在一个Python文件中调用其他Python文件中的方法,可以使用Python的模块导入功能。模块是一个包含Python定义和语句的文件,可以被其他Python程序导入和使用。 假设我们有两个Python文件,一个是file1.py,另一个是file2.py。如果我们想在file1.py中调用file2.py中的方法,我们可以按照

    2024年02月11日
    浏览(36)
  • 浅谈Vue中的NextTick。

            等待下一次 DOM 更新刷新的工具方法。(在修改数据后使用这个方法,能获取更新的dom)         当你在 Vue 中更改响应式状态时,最终的 DOM 更新并不是同步生效 的,而是由 Vue 将它们缓存在一个队列中,直到下一个“tick”才一起执行。这样是为了确保每个组

    2024年01月16日
    浏览(37)
  • 浅谈HPC中的Lustre

    1. 什么是 lustre? Lustre 体系结构是一个为集群设计的存储体系结构。 其核心组件是运行在 Linux 操作系统上、 支持标准的 POSIX* UNIX 文件系统接口、 并遵循 GPL2.0 许可的 Lustre 文件系统。 据 IDC 的统计, Lustre 是在 HPC 领域应用最广的文件系统, 世界上最快的 50 个超算网站有

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包