如何从 Odoo 中的另一个模型中获取一个模型的字段值?
How to get field value from a model from another model in Odoo?
我在理解如何从另一个模型获取字段值时遇到一些问题。
我通过创建自定义模块在 res.partner
模块中添加了一个自定义字段:
class custom_partner_fields(osv.osv):
_inherit = 'res.partner'
_columns = {
'RTN': fields.char('RTN Numerico'),
}
_defaults = {
}
custom_partner_fields()
然后我在创建新客户时为表单视图创建自定义 xml,现在我可以在客户创建表单中看到 RTN
字段。
现在我希望在下新的 quotation/sale 订单时显示这个新字段。
我希望它在我 select 我的客户时获得它的价值(我相信应该使用 onchange
功能但不知道如何使用它!),所以我所做的是创建一个自定义模块为此:
class custom_saleorder_fields(osv.osv):
_inherits = 'sale.order'
_columns = {
'partner_rtn': fields.char('RTN'),
}
custom_saleorder_fields()
我认为我需要为此使用函数或关系字段之类的东西,但我尝试过的方法还没有奏效。
然后,我创建了销售订单表单视图的自定义视图并添加了我的 partner_field
。
现在,我想知道如何根据 selected 客户从 custom_saleorder_fields
的 res.partner
模块访问特定的 RTN
值。
另一方面,这个新值的主要目的是显示在销售工作流程中,并打印在报告中。
您需要在销售订单模型中添加关系字段。
在应用代码之前,您应该参考 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()
通过关系字段将模型A的字段带入模型B
例如,在另一个模型中使用 many2one 字段:
从 openerp 导入模型、字段,api
class 零件供应商class(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)
我在理解如何从另一个模型获取字段值时遇到一些问题。
我通过创建自定义模块在 res.partner
模块中添加了一个自定义字段:
class custom_partner_fields(osv.osv):
_inherit = 'res.partner'
_columns = {
'RTN': fields.char('RTN Numerico'),
}
_defaults = {
}
custom_partner_fields()
然后我在创建新客户时为表单视图创建自定义 xml,现在我可以在客户创建表单中看到 RTN
字段。
现在我希望在下新的 quotation/sale 订单时显示这个新字段。
我希望它在我 select 我的客户时获得它的价值(我相信应该使用 onchange
功能但不知道如何使用它!),所以我所做的是创建一个自定义模块为此:
class custom_saleorder_fields(osv.osv):
_inherits = 'sale.order'
_columns = {
'partner_rtn': fields.char('RTN'),
}
custom_saleorder_fields()
我认为我需要为此使用函数或关系字段之类的东西,但我尝试过的方法还没有奏效。
然后,我创建了销售订单表单视图的自定义视图并添加了我的 partner_field
。
现在,我想知道如何根据 selected 客户从 custom_saleorder_fields
的 res.partner
模块访问特定的 RTN
值。
另一方面,这个新值的主要目的是显示在销售工作流程中,并打印在报告中。
您需要在销售订单模型中添加关系字段。 在应用代码之前,您应该参考 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()
通过关系字段将模型A的字段带入模型B 例如,在另一个模型中使用 many2one 字段:
从 openerp 导入模型、字段,api
class 零件供应商class(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)