Python 2.7 Odoo如何在one2many字段中筛选多个One字段值

Python 2.7 Odoo如何在one2many字段中筛选多个One字段值,python-2.7,openerp,odoo-9,many-to-one,odoo-view,Python 2.7,Openerp,Odoo 9,Many To One,Odoo View,我有多个字段name\u id。通常,当我在该字段下面的my_model.xml代码中使用它时,我可以从my.model.line中写入的所有值中进行选择。 在本例中,我希望筛选值,并仅查看在当前my.model中写入的这些值的列表 my_model.xml <record model="ir.ui.view" id="view_my_model_form"> <field name="name">my.model.form</field&g

我有多个字段name\u id。通常,当我在该字段下面的my_model.xml代码中使用它时,我可以从my.model.line中写入的所有值中进行选择。 在本例中,我希望筛选值,并仅查看在当前my.model中写入的这些值的列表

my_model.xml

    <record model="ir.ui.view" id="view_my_model_form">
        <field name="name">my.model.form</field>
        <field name="model">my.model</field>
        <field name="arch" type="xml">
            <form string="My Model">
            <header>

                        <field name="my_model_line">
                            <tree>
                                <field name="name"/>
                            </tree>
                         </field>
               <notebook>
                    <page>
                        <field name="supply_conditions_status">
            <tree string="My model Lines">
                                <field name="name_id"/>
                            </tree>
为了更清楚地理解-例如:

我有my.model(字段名='first')和my.model(字段名='second')的表单视图

在my.model中(name='first') 在my_model_line name字段中添加了数据:“item1”、“item2”

在my.model中(name='second') 在my_model_line name字段中添加了数据:“1item”、“2item”

现在:

在my.model中(name='first') 供应条件状态名称id字段我看到选择:“1item”、“2item、item1”、“item2”

需要:

在my.model中(name='first') 提供\u条件\u状态名称\u id 仅从“项目1”、“项目2”中选择的可能性


我怎样才能做到这一点呢?

你只需将域名赋予你的manyOne字段就可以做到这一点。 试试这个:


name_id=fields.manyOne('my.model.line',string='Product',domain=lambda self:[('my_model_id','=',self.model_id)])

您只需将domain赋予manyOne字段即可实现此目的。 试试这个:


name\u id=fields.manyOne('my.model.line',string='Product',domain=lambda self:[('my\u model\u id','=',self.model\u id)])

我正在考虑my.model.line模型上的name\u get方法。问题是我无法获取当前视图my.model类id。我正在考虑在我的.model.line模型上使用name\u get方法。问题是我无法获取当前视图my.model类id。
class SupplyConditions(models.Model):
    _name = 'supply.conditions'

    name_id = fields.Many2one('my.model.line', string='Product')
    model_id = fields.Many2one('my.model')


class MyModelLine(models.Model):
    _name = 'my.model.line'

    name = fields.Char('Name')
    my_model_id = fields.Many2one('my.model')

class MyModel(models.Model):
    _name = 'my.model'

    title = fields.Char('Title')
    my_model_line = fields.One2many('my.model.line', 'my_model_id')
    supply_conditions_status = fields.One2many('supply.conditions', 'model_id')