我很难理解如何从其他模型中获取字段值。
我通过制作自定义模块在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
。
现在,我想知道如何根据所选客户从RTN
访问res.partner
模块中的特定custom_saleorder_fields
值。
另一方面,此新值的主要目的是显示在销售工作流程中,并将其打印在报告中。
答案 0 :(得分: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()
答案 1 :(得分:1)
通过相关字段在modelB中引入modelA字段 例如,在另一个模型中使用many2one字段:
来自openerp导入模型,字段,api
class 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")
class selectionsxample(models.Model): _name = 'selection.selection'
name=fields.Char('name',required=True)
value=fields.Char('value',required=True)