diff options
Diffstat (limited to 'odoo')
| -rw-r--r-- | odoo/addons/base/models/ir_attachment.py | 6 |
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: |
