Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
3565 Zobrazení

Hi,

I want to display the numbers according to the id of each user, but I get this error : 'Infotel' object is not iterable

My code is the following

controllers.py

from odoo import http from odoo import api

class Infotel(http.Controller):
    @http.route('/infotel/infotel/', auth='user', website=True)
    @api.one
    def index(self, **kw):
        Infotels = http.request.env['infotel.numbers']
        return http.request.render('infotel.index', {
            'numbers': Infotels.search([])
        })

models.py

from odoo import models, fields, api

class Infotels(models.Model):
    _name = 'infotel.numbers'

    name = fields.Char()
    validite = fields.Char()
    user_id = fields.Many2one('res.users', string="User")

template.xml

<t t-foreach="numbers" t-as="number">
              <option t-att-value="number.id" t-att-selected="numbers.user_id == res.users.id">
                           <t t-esc="number.name" />
               </option>
 </t>


Regards

Avatar
Zrušit
Nejlepší odpověď

Hi Alvin,

Please change the template like this, you have to use numbers.user_id.id instead of the numbers.user_id.

<t t-foreach="numbers" t-as="number">
      <option t-att-value="number.id" t-att-selected="numbers.user_id.id == res.users.id">
           <t t-esc="number.name" />
      </option>

</t>

Thanks

Avatar
Zrušit
Autor Nejlepší odpověď

Thanks for your reply

i changed my template but i got the same error


Regards

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
2
čvc 24
4173
3
dub 24
4871
0
zář 21
1941
1
bře 15
4743
1
říj 23
2814