TypeError:无法将字典更新序列元素#0转换为序列

时间:2016-03-29 12:55:50

标签: python postgresql odoo-8

我正在尝试选择" fleet_vehicle"具有特定代码值的对象

        class fleet_inventory_line(osv.osv):
    .
    .
    .

        def find_vehicle_id(self, cr, uid, ids, args, field_name, context=None):
            cr.execute("""SELECT
                          l.id
                        FROM
                          fleet_vehicle l
                        WHERE
                          code = 'MR444' """)
            res = cr.fetchone()
            return res
.
.
.
    _columns = {
        'x_vehicle_id': fields.function(find_vehicle_id, type='integer', string='vehicle id'),
    }

我有以下错误:

  

TypeError:无法将字典更新序列元素#0转换为a   序列

我认为问题在于:

res = cr.fetchone()

因为我试图返回一个整数,但我没有找到解决方案,我会对任何帮助感到满意

编辑:追溯

  

追踪(最近一次呼叫最后一次):

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",第537行,在_handle_exception

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",第574行,在发货

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",310行,_call_function

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ service \ model.py",第118行,在包装器中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",第307行,在checked_call

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",第803行,致电

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ http.py",403行,在response_wrap中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server \ openerp \ addons \ web \ controllers \ main.py",第944行,在call_kw中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server \ openerp \ addons \ web \ controllers \ main.py",第936行,_call_kw

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ api.py",第268行,在包装器中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ models.py",第3145行,阅读

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ api.py",第266行,在包装器中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ models.py",第3180行,阅读

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ api.py",第266行,在包装器中

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ models.py",第3367行,_read_from_database

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ osv \ fields.py",第1478行,获取

     

文件" D:\ MesDocuments \ Les_prog \ Odoo   8.0-20160118 \ server。\ openerp \ osv \ fields.py",第1439行,_postprocess_batch

     

TypeError:无法将字典更新序列元素#0转换为a   序列

1 个答案:

答案 0 :(得分:2)

答案是我必须使用

  

res = cr.dictfetchone()

而不是

  

res = cr.fetchone()