加载自定义模型并在销售点 - Odoo 12 中向 pos.order.line 添加一个字段

Load custom model and add a field to pos.order.line in Point of Sale - Odoo 12

需要一个示例工作代码,以便我可以尝试更好地理解它在 Odoo 12 中的销售点应用程序上的工作原理。

我正在尝试向 "pos.order.line" 添加一个新的自定义字段以用于销售点应用程序,但我对 Odoo 12 pos 不满意。

这个新字段依赖于我创建的用于产品的新模型。 我将此字段添加到模型中,我需要在每个产品的每个 pos 订单行上自动填写它。

这有点像 "taxes",如果用户选择一个产品,Odoo 会自动在 pos "order line" 上设置税务信息。

为了更好地理解,我将尝试重现目前已完成的步骤。

1.新模型: 对于这个例子我将其命名为 "Type".

此模型将填充 "several" 种类型并添加到我拥有的每个产品中。

class Types(models.Model):
    _name = 'types'
    _description = 'Sample Types Model'
    code = fields.Char('Code', required=True)
    name = fields.Char('Description', required=True)

2. 这个 "types" 信息将添加到我拥有的每个产品中,因此,我在 "products.template" 模型中添加了一个新字段:

class ProductTemplate(models.Model): 
    _inherit = "product.template"
    types_id = fields.Many2one('types', string='Product specific type') 

3. 因为我需要在每个 pos 订单行上显示此值,所以我使用相同的方法将该字段添加到 "pos.order.line" 模型:

class PosOrderLine(models.Model):
    _inherit = "pos.order.line"
    types_id = fields.Many2one('types', string='Product specific type')

4。问题从这里开始。

我需要加载新模型和添加到 "product.template" 的新字段,并在将产品添加到购物车时为 "pos.order.line" 上的每个产品写入默认值 "type" .

在 PoS 上我需要:

有人能帮帮我吗?

可以设置types_idrelatedproduct_id.product_tmpl_id.types_id,会自动填充

class PosOrderLine(models.Model):
    _inherit = "pos.order.line"

    types_id = fields.Many2one(related='product_id.product_tmpl_id.types_id', 
                               string='Product specific type')