python - Odoo 14 Picking Operations 报告按位置名称排序
问题描述
我在按库存位置名称对 Qweb 报告进行排序时遇到问题。
我已经检查了默认报告,但我无法弄清楚为什么不应该首先对其进行排序。
<t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.name, reverse=False)"
t-as="ml">
该列表仍按默认顺序返回。
这是 Odoo 标准报告代码:
<t t-foreach="o.move_ids_without_package" t-as="move">
<!-- In case you come across duplicated lines, ask NIM or LAP -->
<t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.id)" t-as="ml">
即使在打印 Odoo 默认报告时,我也弄错了顺序。
我究竟做错了什么?
解决方案
问题是您正在move_line_ids
从 a排序stock.move
,因此除非该移动有几行,否则只有一行要排序。要按位置对整个采摘进行排序,您应该在 first 中进行<t>
,如下所示:
<t t-foreach="o.mapped('move_ids_without_package.move_line_ids').sorted(key=lambda ml: ml.location_id.id)" t-as="move">
<t t-foreach="move" t-as="ml">
推荐阅读
- java - neo4j - 如何使用 java 限制重复节点
- c# - 控制台不打印 c# 构造函数中定义的属性
- python - python subprocess.Popen with shell = False,
- javascript - 游戏继续进行 - 希望玩家获胜时停止
- node-red - 如何在nodered中显示自定义节点的输入端口(左点)?
- java - 我应该如何只创建一次媒体播放器并多次调用它?
- matlab - 均值恒定时的索引
- android - onPostExecute 协程 kotlin
- c++ - 如何执行覆盖的方法 C++
- plugins - Nativescript Responsive @proplugin/nativescript-platform-css 不触发重绘