summaryrefslogtreecommitdiff
path: root/odoo/addons/base
diff options
context:
space:
mode:
Diffstat (limited to 'odoo/addons/base')
-rw-r--r--odoo/addons/base/models/ir_attachment.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/odoo/addons/base/models/ir_attachment.py b/odoo/addons/base/models/ir_attachment.py
index deb457ba438..df70781f888 100644
--- a/odoo/addons/base/models/ir_attachment.py
+++ b/odoo/addons/base/models/ir_attachment.py
@@ -432,7 +432,9 @@ class IrAttachment(models.Model):
def _search(self, args, offset=0, limit=None, order=None, count=False, access_rights_uid=None):
# add res_field=False in domain if not present; the arg[0] trick below
# works for domain items and '&'/'|'/'!' operators too
+ discard_binary_fields_attachments = False
if not any(arg[0] in ('id', 'res_field') for arg in args):
+ discard_binary_fields_attachments = True
args.insert(0, ('res_field', '=', False))
ids = super(IrAttachment, self)._search(args, offset=offset, limit=limit, order=order,
@@ -463,8 +465,8 @@ class IrAttachment(models.Model):
continue
# model_attachments = {res_model: {res_id: set(ids)}}
model_attachments[row['res_model']][row['res_id']].add(row['id'])
- # Should not retrieve binary fields attachments
- if row['res_field']:
+ # Should not retrieve binary fields attachments if not explicitly required
+ if discard_binary_fields_attachments and row['res_field']:
binary_fields_attachments.add(row['id'])
if binary_fields_attachments: