我有以下模型:
团体-合作伙伴
团体-车辆
合作伙伴<-车辆
车辆通过x_partner_id字段与合作伙伴相关(每个合作伙伴可以拥有多条总线)。
我想给每一组分配一个伙伴和一个巴士,有可能从不同的合作伙伴中选择一辆巴士。该表格如下:
<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字段中键入任何属性,我可以找到我需要的总线。有人能给我一个提示吗,如何在表单中修改这个字段,将搜索扩展到与车辆模型相关的其他模型?所以,如果我输入一个合作伙伴的名字,我只想看到来自合作伙伴的公共汽车。
发布于 2017-02-27 12:12:07
所以如果我理解你的问题,你想限制x_vehicle_id只显示与x_partner_id相关的车辆
为此您需要一个onchange方法。与…有关的东西
@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方法。
@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。
https://stackoverflow.com/questions/42480486
复制相似问题