Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

求助name_get 函数怎样用?



  • [glow=red,2,300]'product': fields.many2one('mrp.production','displayName')[/glow]

    在 mrp 模块里边的mrp_production:
    _column={}里添加了一个字段 printed_EN,
    问题实际需求:
    把该字段和mrp_production里面的name字段,
    在数据库里的数据查出,
    拼接成"name-printed_EN"  的格式,
    输出到many2one 的下拉框!

    该怎么样重载 name_get 函数完成这个功能?


    [glow=red,2,300]class ManufacturingOrder(osv.Model):
        _inherit = 'mrp.production'
        def name_get(self, cr, uid, ids, context=None):
            bla bla bla[/glow]

    像这样的重载,该放在哪里,我是在purchase.py里class purchase_order(osv.osv)自定义的many2one类型的字段,

    name_get 函数是该在class purchase_order(osv.osv)这里么?是 mrp.production里?



  • mrp.production里

    你那块代码不是已经是继承 mrp.production了么,怎么还不明白?



  • 还是有问题!  我重载name_get 但是我只想让我定义的
    [glow=red,2,300]'XXX': fields.many2one ('mrp.production','XXX')[/glow]

    字段 受影响怎么做,有那些方法能解决?
    只影响我定义的字段 , 让下拉框显示 成[glow=red,2,300]"name-printed_ch"[/glow] 数据库两个字段的数据的拼接格式



  • context里放个 key value进去,name_get 里取出来判断一下,有这个key并等于这个value才返回自定义值,否则super



  • ;D谢谢!
    不过这个 context 是放在 我自定义下面这个字段么如:
    [glow=red,2,300]'XXX': fields.many2one ('mrp.production','XXX',context='XXX')[/glow]
    但是在get_name里用 context.get()取不到,又试了试context.key() ,还是取不到


Log in to reply