Python 如何从单个类中获取两个many21字段?

Python 如何从单个类中获取两个many21字段?,python,openerp,Python,Openerp,我有以下代码,我想要这两个字段asset_catg_id和folio_num。这两个字段应该可以用于多个21-2字段。如何为单个类编写2_rec_名称 class asset_asset(osv.osv): _inherit = "asset.asset" #_name = "asset_asset" _rec_name= "folio_num" #_rec_name = "assetmodelid_add" _columns = { 'n

我有以下代码,我想要这两个字段asset_catg_id和folio_num。这两个字段应该可以用于多个21-2字段。如何为单个类编写2_rec_名称

class asset_asset(osv.osv):
    _inherit = "asset.asset"
    #_name = "asset_asset"
    _rec_name= "folio_num"
    #_rec_name = "assetmodelid_add"
    _columns = {
        'name': fields.char('Asset Name', size=64),
        'company_id1': fields.many2one('res.company', 'Substation', required=True),
        #'place1': fields.many2one('asset.parentlocation', 'Location'),
        'asset_catg_id' : fields.many2one('asset.catg', 'Asset Catg Selection',select=True, required=True),
            'area_id' : fields.many2one('asset.name', 'Asset Name Selection', domain="[('asset_catg_id', '=', asset_catg_id)]", select=True, required=True),
        'assetmodelid_add' : fields.many2one('agile.portfolio1','Asset Model Code',domain="[('area_id', '=', area_id)]",),
        'folio_num' : fields.char('Folio No',),
        'asse_line':fields.one2many('asset.line','emp_id','Name Plate'),
        'asse_line2':fields.one2many('asset.part','emp_id1','Parts'),
               #'assed_modelid':fields.many2one('agile.portfolio1','Asset Model ID',select=True, required=True),
        'quantity': fields.char('Quantity',size=64),
        'uom': fields.char('Uinit of Measure',size=64),
        'model_no' : fields.char('Model', size=64),

        #'asset_id':fields.many2one('agile.portfolio','Asset ID'),

    }

在本例中,我们将重写name_get()方法模块

def name_get(self、cr、uid、id、context={}):
如果不是len(ID):
返回[]
res=[]
对于self.browse中的assest(cr、uid、ids、context=context):
res.append((assest.id,assest.asset_catg_id+,'+assest.folio_num))
返回res

如果要在asset.asset ok中向_rec_name显示资产类别名称 所以创建如下文件:

'folio_num': fields.related('asset_catg_id', 'name', type="char", string="Folio Name"),

如果您想喜欢显示名称,那么创建计算文件时,默认情况下会显示名称字段或在_rec_name中定义的字段。若要显示其他字段的值,则需要覆盖对象中的name\u get方法

例如,我想在我的manyOne字段中显示两个字段(name,name2):

def name_get(self, cr, uid, ids, context=None):
    if not len(ids):
        return []
    res = [(r['id'], r['name'] and '%s [%s]' % (r['name'], r['name2']) or r['name'] ) for r in self.read(cr, uid, ids, ['name', 'name2'], context=context) ]
    return res

您可以参考:

我想要两个多个1字段如何获取它,但它是获取该类的rec\u name\u rec\u name=“folio\u num”?/\u rec\u name='asset\u catg\u id'尝试它我想要folio\u num和asset\u catg\u idbatter两个字段使用display\u name计算字段并重新指定“asset\u catg\u id+folio\u num”这是最好的4U…我的意思是我将得到2个字段,就像其他类或模块中的多个字段一样。在你的情况下,它连接到一个现场工作亲爱的。。。。。。。