首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >相关模型中的Odo-下拉搜索

相关模型中的Odo-下拉搜索
EN

Stack Overflow用户
提问于 2017-02-27 08:00:19
回答 1查看 787关注 0票数 0

我有以下模型:

团体-合作伙伴

团体-车辆

合作伙伴<-车辆

车辆通过x_partner_id字段与合作伙伴相关(每个合作伙伴可以拥有多条总线)。

我想给每一组分配一个伙伴和一个巴士,有可能从不同的合作伙伴中选择一辆巴士。该表格如下:

代码语言:javascript
复制
<form>
    <sheet string="Groups">
        <group col="4">
            <field name="x_date_start" modifiers="{}"/>
            <field name="x_date_stop" modifiers="{}"/>
            <field name="x_partner_id" can_create="true" can_write="true" modifiers="{}"/>
            <field name="x_name" modifiers="{}"/>
            <field name="x_vehicle_id" can_create="true" can_write="true" modifiers="{}"/>
            <field name="x_groupcode" modifiers="{}"/>
            <newline/>
            <field colspan="4" name="x_stops_id" modifiers="{}"/>
            <newline/>
            <separator/>
        </group>
    </sheet>
</form>

现在,如果我在表单上的x_vehicle_id字段中键入任何属性,我可以找到我需要的总线。有人能给我一个提示吗,如何在表单中修改这个字段,将搜索扩展到与车辆模型相关的其他模型?所以,如果我输入一个合作伙伴的名字,我只想看到来自合作伙伴的公共汽车。

EN

回答 1

Stack Overflow用户

发布于 2017-02-27 12:12:07

所以如果我理解你的问题,你想限制x_vehicle_id只显示与x_partner_id相关的车辆

为此您需要一个onchange方法。与…有关的东西

代码语言:javascript
复制
@api.onchange('x_partner_id')
def onchange_partner_id(self):
    return {'domain': {'x_vehicle_id': [('partner_id', '=', self.x_partner_id)]}}

(假设x_vehicle_id的模型有一个名为partner_id的字段)

这将在每次更改domain时更改字段的x_partner_id,并限制选择。

更新:我误解了这个问题。

如果要按合作伙伴的名称搜索车辆,则必须重写name_search方法。

代码语言:javascript
复制
@api.model
def name_search(self, name='', args=None, operator='ilike', limit=100):
    res = super(<classname here>, self).name_search(name, args, operator, limit=limit)

    # Search more results here and add them to res

    return res

你可以看到product.product

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42480486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档