odoo10 关于m2o字段的去除已经选过的数据
关于m2o字段的去除已经选过的数据
<page string="Detail"> <field name="asset_equipment_detail_ids" options="{'no_edit_no_open':1}" context="{'detail_data': asset_equipment_detail_ids}" attrs="{'readonly':[('state','!=','created')]}"> <tree editable="bottom" create="1"> <field name="asset_id" options="{'no_create':True}" context="{'more_domain': True, 'field_ids': parent.asset_equipment_detail_ids, 'model': 'kthrp.asset.equipment.receive.return.application.detail', 'head_company': parent.company_id}"/> <field name="receive_time"/> <field name="return_time"/> <field name="duration_time" options="{'readonly_save':1}" sum="Total Duration Time"/> <field name="note"/> </tree> </field> </page>
@api.model def get_domain(self): domain = [] if self.env.context.get('more_domain', False): field_ids = self.env.context.get('field_ids', []) # m2o重复选择限制 if field_ids: records = [] model = self.env[self.env.context.get('model')] for selected_line in field_ids: if selected_line[2]: # 缓存数据 asset_id = selected_line[2].get('asset_id') records.append(asset_id) else: # 保存数据 asset_id = model.browse(selected_line[1]).asset_id.id records.append(asset_id) domain += [('id', 'not in', tuple(set(records)))]
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步