Skip to Content
Menú
This question has been flagged
2 Respostes
3557 Vistes

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
Descartar
Best Answer

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
Descartar
Autor Best Answer

Thanks for your reply

i changed my template but i got the same error


Regards

Avatar
Descartar
Related Posts Respostes Vistes Activitat
2
de jul. 24
4168
3
d’abr. 24
4856
0
de set. 21
1940
1
de març 15
4738
1
d’oct. 23
2807