Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
20372 Vistas

Is there a way to print key and value from a python dictionary in loop Qweb?
 For example, if I have a dictionary:
My Code:
<select>
<t t-foreach="[ {key:'1', value:'One'},   {key:'2', value:'Two'}]" t-as="j">
        <option  t-attf-value="j.key"><t t-esc="j.value"/></option>

</t></select>


If i exceute this j.value dict error.

How to print key and value ?

Avatar
Descartar
Mejor respuesta

In Odoo QWeb Template, you don't need to write any extra for the keys, but if you want to write the values, you need to add '_value' right after the alias variable (in your case, the 'j' letter).




(credit goes to 'ifixthat' from St*ckOverfl*w)

Avatar
Descartar
Mejor respuesta

\https://www.youtube.com/watch?v=cPozFRSZRA0&list=UUZVWw0iLx0pFTzUzvl_XpcA&index=3

Avatar
Descartar
Mejor respuesta

Hi Silvia,

To print the key and its value you can try this,

<t t-foreach="course_details" t-as="course">
<t t-esc="course.name"/>
<t t-esc="course.id"/>
</t>
Avatar
Descartar

How to create dictionary?

<t t-set="cont" t-value="dict()"/>

<t t-foreach="cont_obj" t-as="ob">

<t t-set="cont" t-value="cont.update({ob.id: ob.name})"/>

</t>

This code is not working. Would you please tell me how can I create a dictionary in qweb.

Hi Abdul,

To create dictionary follow below code

<t t-set="count" t-value="dict()"/>

<t t-foreach="count_obj" t-as="ob">

<t t-set="count" t-esc="count.update({ob.id: ob.name})"/>

</t>

I hope this code help you

Publicaciones relacionadas Respuestas Vistas Actividad
1
mar 21
4437
2
oct 20
12457
0
may 17
2179
0
may 22
1720
1
abr 22
8836