【问题标题】:How to get field value from a model from another model in Odoo?如何从 Odoo 中另一个模型的模型中获取字段值?
【发布时间】:2015-04-15 02:37:30
【问题描述】:

我在理解如何从另一个模型中获取字段值时遇到了一些麻烦。

我通过制作自定义模块在res.partner 模块中添加了一个自定义字段:

class custom_partner_fields(osv.osv):
_inherit = 'res.partner'

_columns = {
'RTN': fields.char('RTN Numerico'),
}

_defaults = {

}
custom_partner_fields()

然后我在创建新客户时为表单视图创建了一个自定义 xml,现在我可以在客户创建表单中看到 RTN 字段。

现在我希望在发出新的报价/销售订单时出现这个新字段。 当我选择我的客户时,我希望它能够获得它的价值(我相信应该使用 onchange 函数,但不知道如何使用它!),所以我所做的是为它创建一个自定义模块:

class custom_saleorder_fields(osv.osv):

_inherits = 'sale.order'

_columns = {
'partner_rtn': fields.char('RTN'),
}
custom_saleorder_fields()

我认为我需要为此使用函数或关系字段之类的东西,但我尝试过的方法还没有奏效。

然后,我创建了销售订单表单视图的自定义视图并添加了我的partner_field

现在,我想知道如何根据所选客户从custom_saleorder_fields 访问res.partner 模块中的特定RTN 值。

另一方面,这个新值的主要目的是显示在销售工作流程中,并将其打印在报告中。

【问题讨论】:

    标签: odoo openerp-8 odoo-8


    【解决方案1】:

    您需要在销售订单模型中添加关系字段。 在应用代码之前,您应该参考 odoo 的文档,

    Odoo Field Doc 你会知道fields.related 是如何工作的。

    class custom_saleorder_fields(osv.osv):
        _inherits = 'sale.order'
    
        _columns = {
            'partner_rtn': fields.related('partner_id','RTN',type="char",relation="res.partner",string="RTN",store=True,readonly=True),
        }
    custom_saleorder_fields()
    

    【讨论】:

    • 感谢您的帮助....这对我有用。现在我知道如何在 odoo 中使用关系了。
    【解决方案2】:

    通过关系字段在modelB中引入modelA字段 例如在另一个模型中使用 many2one 字段:

    从 openerp 导入模型、字段、api

    类partsproviderclass(models.Model):

    _name='partsprovider.vechicle'
    #_rec_name='parts_provider'
    
    id=fields.Integer()
    parts_provider=fields.Many2many('supplier.car', string="Parts provider")
    parts_name=fields.Many2many('selection.selection',string="Parts Name")
    parts_price=fields.Float(string="Price of the Part")
    

    类选择示例(models.Model): _name='selection.selection'

    name=fields.Char('name',required=True) 
    value=fields.Char('value',required=True)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 2023-01-03
      • 1970-01-01
      • 2020-07-07
      • 2020-01-08
      相关资源
      最近更新 更多