Openerp 在更改odoo 9时填充选择选项

Openerp 在更改odoo 9时填充选择选项,openerp,odoo-9,Openerp,Odoo 9,如何填充“更改其他”字段上的“选择”选项。例如: 选择选项的默认值是存储在数据库中的tbl_汽车奥迪、欧宝、梅赛德斯、大众、宝马。在另一个表tbl_car_user I中存储了car_name和user_name‘Peter’、‘Audi’。现在我想在更改用户id后选择用户Peter in car Select option获取所有车辆,不包括奥迪用户Peter已经在使用奥迪 也许是这样: 对于self.env['tbl.car']中的汽车。搜索[]: 对于self.env['car.user'

如何填充“更改其他”字段上的“选择”选项。例如:

选择选项的默认值是存储在数据库中的tbl_汽车奥迪、欧宝、梅赛德斯、大众、宝马。在另一个表tbl_car_user I中存储了car_name和user_name‘Peter’、‘Audi’。现在我想在更改用户id后选择用户Peter in car Select option获取所有车辆,不包括奥迪用户Peter已经在使用奥迪

也许是这样:

对于self.env['tbl.car']中的汽车。搜索[]: 对于self.env['car.user']中的car_用户。搜索['user_id','=','self.user_id.id]: 如果car.name=car\u user.name: 打印副本 其他: 打印添加到选择选项
有什么简单的解决方案吗?

这种问题不要使用选择,即使您发现了这一点,如果您下次编辑记录,选择将不知道它包含的值,因为odoo将用除它具有的值之外的所有值填充选择。您将在选择字段上看到uknown值

但是,如果要执行此操作,请不要使用选择使用manyOne将汽车名称的选择更改为数据库中的模型表,并使用domain for you manyOne字段

无法通过选择来执行此逻辑此逻辑只能通过向导的选择来执行

field_selection=fields.Selectionselection='generate_selection' def生成_选择自身: 计算选择 返回计算的用户选择
但是,当视图第一次加载时,此选项就起作用了。选择的值不能用onchange事件编辑或更改。

我的第一个answar现在是正确的。如果您不想更改选择,我将给出一个解决方案:

创建一个向导以影响汽车用户:

类影响CARMODEL.TransientModel: _name='affect.user.car.wizard' 使用\u id=fields.manyOne。。你知道你是怎么做的 汽车名称=字段。选择选择选择=''获取汽车名称','汽车名称' def(获取)车辆(选择)本身: 根据以下内容为字段car\u name生成选择 传递到此表单的默认用户id 获取此用户没有的所有汽车名称 生成选择['car\u name','car\u name'…] 返回计算的用户选择 def创建用户车辆自身: 保存新的tbbl_车_用户记录 此方法是通过向导的形式调用的 在tbl\U car\U user中保存用户id和车辆名称 现在,向用户表单添加一个按钮,并调用一个方法打开向导表单,默认情况下,用户id为 同一用户

@api.multi def add_carself: 打开向导以添加汽车 给这个用户 返回{ 'type':'ir.actions.act_window', “查看模式”:“表单”, “视图类型”:“表单”, 'res_model':'affect.user.car.wizard', '目标':'新', “上下文”:{ 将用户的id传递给向导 “默认使用id”:self.id, }, } 有一件事可以防止应用程序的用户在弹出窗口显示时更改用户id 使用户在向导的窗体视图中不可见=1

tax.adjustments.wizard.form 税务调整向导 或