根据ODOO中按钮单击的字段过滤已创建的O2M字段记录

时间:2016-01-22 07:47:47

标签: odoo-8

我有一个像One2many这样的字段:

pricelist_details = fields.One2many('price.list.details', 'price_list_id', string='Price List Details', copy=True)

和xml一样:

<notebook>
    <page>
        <field name="pricelist_details" nolabel="1" widget="one2many_list">
            <tree string="Price List Details" editable="bottom" create="false">
                <field name="state" invisible="1"></field>
                <field name="date_time" attrs="{'required': True, 'readonly': True}"></field>
                <field name="company_id" attrs="{'required': True, 'readonly': True}"></field>
                <field name="category_id" attrs="{'required': True, 'readonly': True}"></field>
                <field name="grade" attrs="{'required': True, 'readonly': True}"></field>
                <field name="ex_mill" attrs="{'required': True, 'readonly': True}"></field>
                <field name="sale_price_per_lb" attrs="{'required': True, 'readonly': [('state', '!=', 'draft')]}"></field>
                <field name="price_per_bag" attrs="{'required': True, 'readonly': True}"></field>
            </tree>
        </field>
    </page>
</notebook>

在按钮上单击所有记录,并在GUI上显示该字段。 现在我在这个字段旁边添加了一些过滤字段,如:

minor = fields.Many2one('product.minor',string='Minor')
sub_category = fields.Many2one('product.subcategory', string='Sub Category')

我想要的是根据这些过滤器过滤我的one2many字段记录。我不希望删除任何记录。只是有 过滤记录。 请帮我解决这个问题。

1 个答案:

答案 0 :(得分:0)

编写字段的onchange方法&#34; sub_category&#34;并根据需要填充响应。 return语句应如下所示:

return {'values': {'pricelist_details': [record_set]}}

record_set 包含根据字段sub_category

过滤的对象

record_set 将填充如下:

records_set = self.env['product.category'].search([('sub_category', '=', ID)])

注意:ID是您正在编写的onchange方法的已更改字段的ID。