如何解决如何从 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 举报,一经查实,本站将立刻删除。