如何在odoo 8中将one2many字段从另一个函数字段中划出来?

时间:2019-06-07 16:37:42

标签: python xml odoo odoo-8

我想根据get_loc_user字段中的location_id过滤get_parts_locations_rel_ids ...但是我无法获取它。

我在老api上使用了odoo 8

# this is my python code


_columns = {
        'get_loc_user': fields.function(check_location_user, string="loc_user", type="char"),
        'get_parts_locations_rel_ids': fields.one2many('parts.locations_rel','product_id','Locations'),
    }

# field 'get_loc_user' is a function that will return a list result such [1,2,3]

#-------------------------------

# in xml

<record id="product_normal_form_view_inherit" model="ir.ui.view">
            <field name="name">product.product.form</field>
            <field name="model">product.product</field>
            <field name="mode">primary</field>
            <field eval="7" name="priority"/>
            <field name="inherit_id" ref="product.product_template_form_view"/>
            <field name="arch" type="xml">
                <xpath expr="//field[@name='categ_id']" position="after">
                    <field name="get_loc_user"  />
                </xpath>
                <xpath expr="//field[@name='asset_ids']" position="after">
                    <field name="get_parts_locations_rel_ids">
                        <tree string="Locations" >
                            <field name="loc_case"/>
                            <field name="loc_row" />
                            <field name="loc_rack" />
                            <field name="location_id" />
                        </tree >
                    </field>
                </xpath>
            </field>
        </record>

我希望one2many字段get_parts_locations_rel_ids中的结果基于基于get_loc_user字段的location_id进行过滤,但是我不知道该怎么做

1 个答案:

答案 0 :(得分:0)

如果您要为get_loc_user设置域,则可以像这样tree & form viewparent.get_loc_user中访问它

 <field name="location_id" domain="parent.get_loc_user and [('your_field_domain', '=', parent.get_loc_user)] or []"/>

我不知道您到底需要什么,但我认为您已经明白了