Odoo Help


How know if a product has attachments from the list view

Shokri Alnajjar
on 3/1/14, 4:24 AM 2,965 views

Hi, is it possible to know if a product has an attachment from the list view ? I want to add a column to the list view indicating if this product has any attachments without pressing on each product and go to the form view




| 5 5 7
Bikaner, India

OpenERP Developer at SunARC Technology

On 3/1/14, 5:26 AM

Add Functional Fields to calculate Number of document attached and shows the functional field in List view

For Example in Project Module No of document shows in the Kanban view you can also display in list view based on the requirement

Reference: addons\project\project.py

def _get_attached_docs(self, cr, uid, ids, field_name, arg, context):
        res = {}
        attachment = self.pool.get('ir.attachment')
        task = self.pool.get('project.task')
        for id in ids:
            project_attachments = attachment.search(cr, uid, [('res_model', '=', 'project.project'), ('res_id', '=', id)], context=context, count=True)
            task_ids = task.search(cr, uid, [('project_id', '=', id)], context=context)
            task_attachments = attachment.search(cr, uid, [('res_model', '=', 'project.task'), ('res_id', 'in', task_ids)], context=context, count=True)
            res[id] = (project_attachments or 0) + (task_attachments or 0)
        return res

thank you very much , it worked

Shokri Alnajjar
on 3/1/14, 10:27 AM

Ray Carnes

--Ray Carnes--
| 9 7 9
Keyport, United States
--Ray Carnes--

Senior ERP Analyst

OpenERP 6.1, 7.0; Odoo 8.0, 9.0, 10.0 and 11.0.

Completed Odoo Functional and Technical Training.

Functional Areas:

  • CRM/Sales

  • Inventory

  • Manufacturing

  • Accounting

  • Purchasing

Major Skills:

  • Business Process Reengineering

  • Efficiency Consulting

  • User Needs and GAP Analysis;

  • Functional and Technical Design;

  • Prototyping and Proof of Concepts;

  • Requirements Specifications;

  • Agile Implementation;

  • Data Migration;

  • Configuration & Customization (UI and code);

  • Integration - Odoo and non Odoo Applications and Services;

  • Training and Knowledge Transfer;

  • Go Live Support;

  • Helpdesk;

  • Version Upgrades and Migration.

  • Accounting Expert.

I have over 20 years of experience empowering and enabling users with enterprise information systems that make a real and measurable difference in their ability to proactively manage their businesses and organizations. 

I am a skilled Communicator and I only take the serious things seriously!

Ray Carnes
On 2/10/15, 7:16 PM

I have written this, which returns 0:

    def _get_attached_docs(self, cr, uid, ids, field_name, arg, context):
        res = {}
        attachment = self.pool.get('ir.attachment')
        for id in ids:
            product_attachments = attachment.search(cr, uid, [('res_model', '=', 'product.template'), ('res_id', '=', id)], context=context, count=True)
            res[id] = product_attachments or 0
        return res

Although, my code to show the actual attachments works:

   def attachment_tree_view(self, cr, uid, ids, context):
        domain = [
             '&', ('res_model', '=', 'product.template'), ('res_id', 'in', ids),
        res_id = ids and ids[0] or False
        return {
            'name': _('Attachments'),
            'domain': domain,
            'res_model': 'ir.attachment',
            'type': 'ir.actions.act_window',
            'view_id': False,
            'view_mode': 'kanban,tree,form',
            'view_type': 'form',
            'limit': 80,
            'context': "{'default_res_model': '%s','default_res_id': %d}" % (self._name, res_id)

Can anyone see what is wrong with my _get_attached_docs code?  I have verified that the ir.attachment model does contain a record with model = product.template and res_id = product_id from the product I am testing, and I see my attachment in the standard Attachments dropdown menu.  Also, this testing is being done with the Admin user so document locations shouldn't be a problem.


About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

0 follower(s)


Asked: 3/1/14, 4:24 AM
Seen: 2965 times
Last updated: 3/16/15, 8:10 AM