我需要将首先声明的字段与product.py
我正在制作的自定义模块相关联。
类中的字段product.product
如下:
_name = "product.product"
_description = "Product"
_table = "product_product"
_inherits = {'product.template': 'product_tmpl_id'}
_inherit = ['mail.thread']
_order = 'default_code,name_template'
_columns = {
'codigo_n' : fields.char('Codigo Arancelario', size=64),
'tec_esp' : fields.char('Especificaciones tecnicas', size=72),
'qty_available': fields.function(_product_qty_available, type='float', string='Quantity On Hand'),
'virtual_available': fields.function(_product_virtual_available, type='float', string='Quantity Available'),
'incoming_qty': fields.function(_product_incoming_qty, type='float', string='Incoming'),
'outgoing_qty': fields.function(_product_outgoing_qty, type='float', string='Outgoing'),
'price': fields.function(_product_price, type='float', string='Price', digits_compute=dp.get_precision('Product Price')),
'lst_price' : fields.function(_product_lst_price, type='float', string='Public Price', digits_compute=dp.get_precision('Product Price')),
'code': fields.function(_product_code, type='char', string='Internal Reference'),
'partner_ref' : fields.function(_product_partner_ref, type='char', string='Customer ref'),
顺便说一句,它不是所有 product.py 代码,但它显示了我需要关联的两个字段,即前两个字段codigo_n
和tec_esp
,并且我在我的自定义模块中继承该类,如下所示:
_name = 'certificados.line'
_description = "Items del Certificado"
_inherit = 'product.product'
def multi_a_b(self, cr, uid, ids, name, arg, context=None):
res = {}
for record in self.browse(cr, uid, ids,context):
res[record.id] = record.Cantidad * record.Precio_Unitario_Declarado
return res
_columns = {
'codigo_n' : fields.char( 'Codigo Arancelario'),
'product_id' : fields.many2one('product.product', 'Material'),
'Descripcion_Arancelaria' : fields.many2one('product.category','Descripcion Arancelaria', required=True, change_default=True, domain="[('type','=','normal')]"),
'tec_esp' : fields.char('Especificaciones tecnicas'),
'Cantidad' : fields.float('Cantidad'), 'Unidad_de_Medida': fields.many2one('product.uom', 'Unidad de Medida'),
'Precio_Unitario_Declarado' : fields.float('Precio Unitario Declarado'), 'Moneda' : fields.many2one('res.currency', 'Moneda'),
'Valor_En_Divisas' : fields.function(multi_a_b, type='integer', string='Valor En Divisas'),
'requisicion_id' : fields.many2one('certificados.certificados', 'Certificados de No Produccion', ondelete='cascade'),
'Cantidad_Consumida' : fields.float('Cantidad Consumida'), 'Cantidad_Disponible' : fields.float('Cantidad Disponible'),
}
据我所知,如果我继承_name
原始对象,我应该继承它的所有字段,然后添加在新类上声明的新字段。
问题是,我不确定如何继承这两个类型的字段char
,已经尝试过one2many
然后many2one
在自定义模块中调用它们,但它返回一个None
关系,我怎么能做到这一点?