İçereği Atla
Menü
Bu soru işaretlendi
3 Cevaplar
21050 Görünümler

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
Vazgeç
En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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

Avatar
Vazgeç
En İyi Yanıt

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
Vazgeç

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Mar 21
4887
2
Eki 20
12970
0
May 17
2466
0
May 22
2175
1
Nis 22
9412