Xml 按字母顺序排列的odoo Qweb报告行
我为我认为这是一件非常愚蠢的事情而发疯。 我需要按字母顺序呈现数组的结果:Xml 按字母顺序排列的odoo Qweb报告行,xml,report,sql-order-by,odoo,qweb,Xml,Report,Sql Order By,Odoo,Qweb,我为我认为这是一件非常愚蠢的事情而发疯。 我需要按字母顺序呈现数组的结果: <tr t-foreach="o.order_line" t-as="l"> <td> <span t-field="l.name"/> </td> 我是否应该使用SQL查询SELECT*FROM table ORDER BYl.nameD
<tr t-foreach="o.order_line" t-as="l">
<td>
<span t-field="l.name"/>
</td>
我是否应该使用SQL查询SELECT*FROM table ORDER BY
l.nameDESC
?
但它太复杂了,我感觉有一个简单的条件来正确渲染它
非常感谢您的帮助!谢谢 看一看
可以将新变量设置为order_line.sorted(),然后对新变量进行迭代
有关排序,请参见
可以将新变量设置为order_line.sorted(),然后对新变量进行迭代
要进行排序,请查看实际上,由于一个主要原因,您不能使用“.sort()”:
- 列表上的“.sort()”对列表进行适当排序,返回
None
排序
,它不会修改传递给它的iterable,而是返回它的排序值。像这样:
<tr t-foreach="sorted(o.order_line, key=lambda x: x.get('A_FIELD_TO_SORT_UPON')" t-as="l">
键可以是返回用于排序的值的任何函数
请参阅有关sorted
用法的更多示例。实际上,由于一个主要原因,您不能使用“.sort()”:
- 列表上的“.sort()”对列表进行适当排序,返回
None
最好使用排序
,它不会修改传递给它的iterable,而是返回它的排序值。像这样:
<tr t-foreach="sorted(o.order_line, key=lambda x: x.get('A_FIELD_TO_SORT_UPON')" t-as="l">
键可以是返回用于排序的值的任何函数
请参阅更多有关sorted
用法的示例。我刚刚遇到了这个问题,正如@Alessandro Ruffolo所写,我能够使用sorted
函数解决它。您必须向该函数传递正确的参数,在您的情况下,它将是:
<tr t-foreach="o.order_line.sorted(key=lambda r: r.name, reverse=True)" t-as="l">
<td>
<span t-field="l.name"/>
</td>
...
</tr>
...
我刚刚遇到了这个问题,正如@Alessandro Ruffolo所写的那样,我能够用排序的函数解决它。您必须向该函数传递正确的参数,在您的情况下,它将是:
<tr t-foreach="o.order_line.sorted(key=lambda r: r.name, reverse=True)" t-as="l">
<td>
<span t-field="l.name"/>
</td>
...
</tr>
...
如果您想对Odoo报告中的项目进行排序,这将起作用
<tr t-foreach="get_room_used_detail(data['form']['date_start'],data['form']['date_end']).sorted(key=lambda x: x.checkin)" t-as="info">
如果您想对Odoo报告中的项目进行排序,这将起作用
<tr t-foreach="get_room_used_detail(data['form']['date_start'],data['form']['date_end']).sorted(key=lambda x: x.checkin)" t-as="info">
谢谢亚历山德罗,你能告诉我应该把它放在哪里吗。。。。给我一个错误:“'sale.order.line'对象在求值'o.order\u line.sort()'时没有属性'sort'”“求值时谢谢Alessandro,你能告诉我应该把它放在哪里吗……给我一个错误:“'sale.order.line'对象在求值'o.order\u line.sort()'时没有属性'sort'”评估时