Search code examples
pythontreeviewodooodoo-8openerp-8

Odoo 8 tree view only show one record


I'm working on this project and I'm stuck on this for a while now. I've created a tree view and I'm trying to populate the view with all the values through compute fields (every field in this view is compute). But I'm only getting the last record of all the records. I looked deeply into my code and found that there is no problem with my logic. If you could please guide me through it would be a great help. My code is as follows :

product.template.py

product_location = fields.Char("Location", compute='get_location')

location_role = fields.Char("Role", compute="get_location_role")

product_pick_type = fields.Char("Pick Type", compute='get_product_pick_type')



def get_location(self):

    quant = http.request.env['stock.quant'].get_quant_by_product(self.id)

    for res in quant:

        self.product_location = res.location_id.name

def get_location_role(self):

            quant = self.env['stock.quant'].get_quant_by_product(self.id)

            for res in quant:

                self.location_role = res.location_id.location_role_id.role

 def get_product_pick_type(self):

            quant = self.env['stock.quant'].get_quant_by_product(self.id)

            for res in quant:

                self.product_pick_type = res.location_id.pick_type

product_template.xml file:

<field name="product_variant_ids">

    <tree>

        <field name="product_location" />

        <field name="location_role"/>

        <field name="product_pick_type"/>  

    </tree>

</field>

Thanks in advance.


Solution

  • You have to use a One2many field to show multiple records in the Tree View.