Qweb: Как я могу использовать метод sort () или функцию sorted () в Qweb? - PullRequest
0 голосов
/ 17 марта 2019


Я пытаюсь вызвать метод sort () и функцию sorted (), но это не работает.
Вызов функции sorted ():

<t t-set='data' t-value="{4: 'd', 3: 'c', 'b': 2, 'a': 1}"/>
<t t-set="list_key" t-value="sorted(list(data.keys()))"/>
<t t-esc="list_key"/>

Но это дает мне ошибку вроде:

Ошибка при визуализации компиляции AST Ошибка типа: объект 'NoneType' не может быть вызван

Вызов метода sort ():

<t t-set='data' t-value="{4: 'd', 3: 'c', 'b': 2, 'a': 1}"/>
<t t-set="list_key" t-value="list(data.keys()).sort()"/>
<t t-esc="list_key"/>

Это не дает ошибки, но когда я пытаюсь получить доступ к одному элементу list_key, я получаю эту ошибку:

Ошибка при визуализации компиляции AST Ошибка типа: объект 'NoneType' не может быть подписан

Вы можете мне помочь? Спасибо тебе.

1 Ответ

1 голос
/ 18 марта 2019

Я не знаю, почему вам нужно было создать метод сортировки внутри определения модели, так как sorted метод уже предусмотрен для применения к набору записей, его также можно использовать внутри qweb.Например, эта строка взята из кода сообщества odoo:

<t t-foreach="move.move_line_ids.sorted(key=lambda ml: ml.location_id.id)" t-as="ml">

Для получения дополнительной информации о методе odoo ORM sorted вы можете прочитать официальную документацию .

...