我正在尝试选择" 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 序列
答案 0 :(得分:2)
答案是我必须使用
res = cr.dictfetchone()
而不是
res = cr.fetchone()