【问题标题】:dictionary update sequence element #0 has length 1; 2 is required字典更新序列元素#0的长度为1; 2 是必需的
【发布时间】:2015-04-07 23:04:49
【问题描述】:

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

我在找什么? 我需要将用户 sucursal_u 和 res_users 放入 act_user_suc,仅此而已,我非常感谢帮助

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()

【问题讨论】:

  • 你期望它做什么?它实际上在做什么?您遇到什么异常或错误?
  • 首先我在这一行的代码中有一个错误digits = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id因为我喜欢这个数字 = self.pool.get('res.users').browse(cr, uid, uid, context=context).sucursal_u,看起来我会更好地解释我想要什么,我有一个类 res .users 和我继承了一个字段 sucursal_u,我需要在名为 act_user_suc 的其他类字段中存储与 sucursal_u 相同的数据,我希望并希望您理解,感谢您的时间和帮助

标签: openerp openerp-7 odoo openerp-8 odoo-8


【解决方案1】:

您需要在代码中更新一些内容。

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'),
                }

【讨论】:

  • 首先我在这一行的代码中有一个错误digits = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id.currency_id因为我喜欢这个数字 = self.pool.get('res.users').browse(cr, uid, uid, context=context).sucursal_u 我已经尝试过你告诉我的但仍然是同样的错误,看起来我要去为了更好地解释我想要什么,我有一个类 res.users 并且我继承了一个字段 sucursal_u,我需要在名为 act_user_suc 的其他类的字段中存储与 sucursal_u 相同的数据,我希望并希望您理解感谢您的时间和帮助
  • 您也可以粘贴该代码吗?您在其中添加了 sucursal_u 字段。
  • class res_users(osv.osv): _inherit = 'res.users' _columns = { 'por_sucursal': fields.boolean('Por Sucursal', help="Es por Sucursal"), 'sucursal_u ' : fields.many2one('sucursales', 'Sucursal', help="Selecciona la sucursal"), 'tecnichian': fields.boolean('Tecnico', help="Es de servicio"), 'sup_monitoreo': 字段。 boolean('Supervisar monitoreo', help="Es supervisora de monitoreo"), }
  • 尝试使用相关字段进行操作,但其为空的相关字段没有从 res_users.sucursal_u 中获取值,我尝试使用 inhertis 和相关字段也没有工作
  • 就像 Frankestein 博士说的:“它是 aliveeeee”,它起作用了“empiro”,我欠你我的所有感谢,我只更改了 res 的结果。
猜你喜欢
  • 2015-02-22
  • 1970-01-01
  • 2021-04-01
  • 2015-06-15
  • 1970-01-01
  • 1970-01-01
  • 2015-03-08
  • 2016-02-17
相关资源
最近更新 更多