微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 XML 文件在 Odoo 14 中添加数组

如何解决如何从 XML 文件在 Odoo 14 中添加数组

我想从 XML 文件创建一个数组并将一个值放入其中,就像在下面的示例中我想将 5 添加到数组中,使其成为 [1,2,3,5]。有人可以教我怎么做吗。我尝试使用下面的代码

<t t-set="numberArray" t-value="[1,3]" />
<t t-set="numberArray" t-value="numberArray.append(5)" />
<t t-esc="numberArray" />

但它不起作用并产生错误

TypeError: scope.numberArray.append is not a function

请帮帮我,谢谢

解决方法

Python list append 函数将值附加到现有列表,但不返回新列表作为返回值。实际上它返回None。这样,当将数字 5 附加到列表时,您的代码会将变量 numberArray 设置为值 None。

您可以通过使用列表 + 运算符或通过将附加返回值分配给其他(虚拟)变量来添加数组。

使用 + 运算符的工作解决方案:

<t t-set="numberArray" t-value="[1,2,3]" />
<t t-set="numberArray" t-value="numberArray+[5]" />
<t t-esc="numberArray" />

使用虚拟变量的工作解决方案:

<t t-set="numberArray" t-value="[1,3]" />
<t t-set="numberArrayDummy" t-value="numberArray.append(5)" />
<t t-esc="numberArray" />

可在此处找到有关 Python 列表方法的更多信息:https://docs.python.org/3/tutorial/datastructures.html。它指出

您可能已经注意到插入、删除或排序等方法 只修改列表没有打印返回值——它们返回 默认无。 [1] 这是所有可变数据的设计原则 Python 中的结构体。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。