У меня есть следующий код, который calender.event унаследованный класс. там я буду создавать события на номер последовательность. и у меня есть другое поле, как в других областях 'inspection_name' т.д.Как получить значение параметра many2one?
from openerp.osv import fields, osv
from openerp import api
import logging
class feedback_form(osv.Model):
_name = 'feedback.form'
_rec_name = 'inspec_type'
_columns={
'folionum' : fields.many2one('calendar.event','Maintainace ID',),
'folio_number' : fields.many2one('asset.asset','Folio number',),
'inspec_type' : fields.many2one('asset1.inspection','Inspection Type',domain="[('inspec_type' , '=' , folio_number)]"),
'frequency' : fields.char('Frequency'),
'shutdown' : fields.char('Shout Down'),
'insp_msr1' : fields.many2one('results.measure','Result',domain="[('inspec_type', '=', inspec_type)]"),
}
def onchange_folio(self, cr, uid, ids, folionum, context=None):
dids = []
for record in self.pool.get('calendar.event').browse(cr, uid, folionum, context=context):
dids = [x.id for x in record.folio_num]
return {'domain':{'folio_number':[('id','in',dids)]}}
'''def onchange_insp(self, cr, uid, ids, folio_number, context=None):
dids = []
for record in self.pool.get('calendar.event').browse(cr, uid, folio_number, context=context):
dids = [x.id for x in record.inspection_name]
return {'domain':{'inspec_type':[('id','in',dids)]}}'''
def onchange_measure(self, cr, uid, ids, inspec_type, context=None):
dids = []
for record in self.pool.get('asset1.inspection').browse(cr, uid, inspec_type, context=context):
dids = [x.id for x in record.msr_insp]
return {'domain':{'insp_msr1':[('id','in',dids)]}}
calendar.event
из openerp.osv полого импорта, О из OpenERP API импорта
класса calendar_event (osv.osv):
_inherit = "calendar.event"
_rec_name = 'number'
_columns = {
'number' : fields.char('Meeting ID',readonly=1),
#'place' : fields.many2one('stock.location','Substation Location',),
'place' : fields.many2one('asset.parentlocation','Substation Location',),
#'location' : fields.selection(STATUS_SELECTION,'Location', default='Board A'),
'asset_catg_id' : fields.many2one('asset.catg','Asset Catg Selection',),
'area_id' : fields.many2one('asset.name','Asset Name Selection', domain="[('asset_catg_id', '=', asset_catg_id)]", select=True, required=True),
'assetmodelid_add' : fields.many2many('agile.portfolio1','agile_portfolio1_rel','super_id','agile_portfolio1_id','Asset Model Code',),
'folio_num' : fields.many2many('asset.asset','asset_asset_rel','super_id','asset_asset_id','Folio Num',),
#'inspection_name' : fields.many2one('asset1.inspection','Inspection Type',),
'inspection_name' : fields.many2many('asset1.inspection','asset1_inspection_rel','super_id','asset1_inspection_id','Inspection Type'),
#'folio_num' : fields.related('folio_num','folio_num',string='Folio Num',relation='asset.asset', type='many2one')
}
_defaults = {
'number' : lambda self,cr,uid,context={}:self.pool.get('ir.sequence').get(cr,uid,'calendar.event'),
}
все, что я пытаюсь с функцией четкости ее получения ошибки как AttributeError: объект «NoneType» не имеет атрибута «поиска» –