Python 从其他模块检索Odoo字段

Python 从其他模块检索Odoo字段,python,openerp,odoo-10,Python,Openerp,Odoo 10,奥多10 我正在尝试将一个字段从产品复制到销售订单。产品中的字段称为默认_代码。我尝试从销售订单模块复制代码,因为它已经获得了单价和税费等,但无法使其工作 from odoo import api, models, fields class myfieldsinsaleorder(models.Model): _inherit = 'sale.order.line' squaremtr = fields.Float("SQ Meter Required") boxe

奥多10

我正在尝试将一个字段从产品复制到销售订单。产品中的字段称为默认_代码。我尝试从销售订单模块复制代码,因为它已经获得了单价和税费等,但无法使其工作

from odoo import api, models, fields

class myfieldsinsaleorder(models.Model):

    _inherit = 'sale.order.line'

    squaremtr = fields.Float("SQ Meter Required")
    boxes = fields.Float("Suggested Boxes")
    squarebox = fields.Char("Meters Per Box")

    @api.onchange('product_id', 'default_code', 'price_unit', 'product_uom', 'product_uom_qty', 'tax_id')
    def _onchange_discount(self):
        self.discount = 0.0
        self.squarebox = 'default_code'
它现在所做的是插入默认代码文本,而不是字段的值。您应该使用:

self.squarebox=self.product\u id.default\u代码
执行此操作时:

self.squarebox = 'default_code'

这就像:
self.squarebox='string不是字段的值'

如果要设置字符串而不是字段,请尝试以下操作:

self.squarebox = self.product_id.default_code