TypeError:' int'对象不是可迭代的odoo8

时间:2017-03-17 13:03:55

标签: function openerp

on odoo 8我尝试执行此操作:

@api.onchange('projetbc_ligne_ids')
def onchange_evalID(self):
    self.test= self.projetbc_ligne_ids.produit.id
    query = "SELECT sum(quantite) FROM projet_bc_ligne where produit = %s"
    self.env.cr.execute(query, (tuple(self.projetbc_ligne_ids.produit.id),))
    # self.env.cr.execute("SELECT sum(quantite) FROM projet_bc_ligne where produit = %s",(tuple(self.projetbc_ligne_ids.produit.id),))
    self.projetbc_ids.quantite_encoure = self.env.cr.fetchone()[0]

我收到此错误:     TypeError:' int'对象不可迭代

一些想法?

1 个答案:

答案 0 :(得分:0)

您的查询只返回一个值,因此请使用self.env.cr.fetchone() 试试这个以了解你的价值类型:

print type(self.env.cr.fetchone()) 

如果它不是listtuple而不是你不能做的事情.env.cr.fetchone()[0]

  

注意:你没有显示女巫线导致错误所以我在想它   fechtcheone [0]