跳至內容
選單
此問題已被標幟
2 回覆
3580 瀏覽次數

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

頭像
捨棄
最佳答案

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

頭像
捨棄
作者 最佳答案

Thanks for your reply

i changed my template but i got the same error


Regards

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
7月 24
4178
3
4月 24
4883
0
9月 21
1947
1
3月 15
4750
1
10月 23
2830