在python的odoo 10中,def create函数包含多个One字段
我想定义我的名字取决于我的资产标签加上我的资产品牌,但我的资产标签和资产品牌字段有很多个,它不会给我一个错误,但输出是错误的。它给我一个数字,整数而不是字符串(标签名加上品牌名)。我的预期结果是,例如,我的资产标签是计算机,然后我的资产品牌是华硕,然后我的预期结果是计算机华硕。请帮忙。非常感谢 我就是这么做的在python的odoo 10中,def create函数包含多个One字段,python,python-2.7,odoo-10,Python,Python 2.7,Odoo 10,我想定义我的名字取决于我的资产标签加上我的资产品牌,但我的资产标签和资产品牌字段有很多个,它不会给我一个错误,但输出是错误的。它给我一个数字,整数而不是字符串(标签名加上品牌名)。我的预期结果是,例如,我的资产标签是计算机,然后我的资产品牌是华硕,然后我的预期结果是计算机华硕。请帮忙。非常感谢 我就是这么做的 @api.model def create(self,vals): if vals['asset_tag']: asset_tag = vals['asset_ta
@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,但我的预期结果是丰田汽车- 请尝试此代码,它可以帮助您
哇。大师:)非常感谢你!最后我将在def旁边再次写下感谢。你能解释一下什么是属性限制=1吗?我搜索了很多次,但在google或odoo的某些模块中没有找到它。再次感谢:)谢谢你的建议:)我是odoo的新手。
@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