字典更新序列元素 #0 的长度为 1; 2 是必需的

dictionary update sequence element #0 has length 1; 2 is required

我在网上看到这个错误,但我真的不明白答案,我很难理解给你的功能是什么或者它必须给你什么,我给你我的代码我希望有人能帮忙

我在找什么? 我需要将 act_user_suc 的用户 sucursal_u 和 res_users 联系起来,就这些了,我非常感谢你的帮助

class bodega(osv.Model):
    _name = 'bodega'
    _description = 'datos generales'

    def dame_usuario(self, cr, uid, ids, fieldname, arg, context=None):
        digits = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id
        return digits

    _columns = {            
                'name': fields.char("Name", required=True),
                'act_user_suc': fields.function(dame_usuario, type='many2one', readonly = True),
                }
    _defaults = {
                }
bodega()

您需要更新一些代码。

fields.function中指定relation属性,您已将many2one定义为字段类型,但它与哪个模型有关?

其他的是 company_id.currency_id 它给你一个可浏览的对象而不是一个 id。

所以试试看,

def dame_usuario(self, cr, uid, ids, fieldname, arg, context=None):
    res = {}
    for obj in self.browse(cr, uid, ids, context=context):
        result[obj.id] = False
        user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
        if user and user.sucursal_u:
            result[obj.id] = user.sucursal_u.id
    return res

    _columns = {            
                'name': fields.char("Name", required=True),
                'act_user_suc': fields.function(dame_usuario,
                    type='many2one', readonly = True, relation='sucursales'),
                }