正常賦值操作:
(以某個模型對象的附件為例)
xx你的模型_model_obj.information_attachment_ids = [(6, 0, attach_ids)]
其中,attach_ids為附件對象id列表。
追加更新操作:
直接追加方式,沒有找到;間接實現,每次更新前,去查詢附件模型中res_model和res_id;
例如:
for dec_obj_id in xxx.xx你的模型對象_id_list: = self.env['ir.attachment'].search([('res_model', '=', 'xxx.xx你的模型名'), ('res_id', '=', dec_obj_id)]) attach_ids = [] if len(dec_attach_list_obj) > 0: for attach_obj in xx你的模型關聯的附件_list_obj: attach_ids.append(attach_obj.id) xx你的模型名_model_obj = self.env['xxx.xx你的模型'].search([('id', '=', dec_obj_id)]) if len(attach_ids) > 0: xx你的模型名_model_obj.information_attachment_ids = [(6, 0, attach_ids)]
多對多字段其他基本操作:
CREATE = lambda values: (0, False, values) // 例:[(0, 0, new_ids)] 創建 UPDATE = lambda id, values: (1, id, values) // 例:[(1, old_id, new_id)] 更新 DELETE = lambda id: (2, id, False) // 例:[(2, old_id, False)] 刪除 FORGET = lambda id: (3, id, False) // 例:[(3, old_id, False)] 斷開鏈接 LINK_TO = lambda id: (4, id, False) // 例:[(4, old_id, False)] 鏈接 DELETE_ALL = lambda: (5, False, False) // 例:[(5, False, False)] 刪除全部 REPLACE_WITH = lambda ids: (6, False, ids) // 例:[(6, False, new_ids)] 替換/更新