我想定义我的名字取决于我的资产标签加上我的资产品牌,但我的资产标签和资产品牌字段是Many2one并且它没有给我一个错误,但输出错误。它给我一个数字,整数而不是字符串(这是标签名称加上品牌名称)。我的预期结果是例如我的资产标签是计算机,然后我的资产品牌是华硕,那么我的预期结果名称将是Computer-Asus。请帮忙。非常感谢。
这就是我的所作所为。
@api.model
def create(self,vals):
if vals['asset_tag']:
asset_tag = vals['asset_tag']
else:
asset_tag = ''
if vals['asset_brands_id']:
brand_id = vals['asset_brands_id']
else:
brand_id = ''
name = "{}-{}".format(asset_tag, brand_id)
vals['name'] = name
return super(ModifiedAssetAsset, self).create(vals)
然后输出就是这个
它给了我2-4资产名称,但我期望的结果是车辆丰田
答案 0 :(得分:1)
@api.model
def create(self,vals):
if vals['asset_tag']:
asset_tag = vals['asset_tag']
else:
asset_tag = ''
if vals['asset_brands_id']:
brand_id=self.env['asset.brand.model.name'].search([('id','=',vals
['asset_brands_id'])],limit=1).name
else:
brand_id = ''
name = "{}-{}".format(asset_tag, brand_id)
vals['name'] = name
return super(ModifiedAssetAsset, self).create(vals)@api.model