Skip to Content
Menu
This question has been flagged
2 Replies
3049 Views

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
Discard
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
Discard
Author Best Answer

Thanks for your reply

i changed my template but i got the same error


Regards

Avatar
Discard
Related Posts Replies Views Activity
2
Jul 24
2936
3
Apr 24
2527
0
Sep 21
895
1
Mar 15
3642
1
Oct 23
1181