odoo - Odoo search_default_product_id 通过在上下文中传递字符串
问题描述
我有一个向导,可以让用户用 field 打开一个记录树product_id
。
此模型视图有一个带有 field 的 searchview product_id
,如下所示:
<record id="view_purchase_product_control_panel_line_search" model="ir.ui.view" >
<field name="name">view.purchase.product.control.panel.line.search</field>
<field name="model">purchase.product.control.panel.line</field>
<field name="arch" type="xml">
<search>
<field name="product_id"/>
<field name="product_name" string="Nome Prodotto"/>
<field name="numerical_code"/>
</search>
</field>
</record>
从向导中,我让用户输入产品名称,这样我就可以打开带有给定字符串的产品过滤器集的树视图。像那样:
def method(self):
# other stuffs
return {
'name': view_name,
'view_type': 'form',
'view_mode': 'form,tree',
'res_model': 'purchase.product.control.panel.line',
'search_view_id': search_id,
'domain': [('id', 'in', line_ids)],
'context': ctx,
'view_id': False,
'views': [(tree_id, 'tree'), (form_id, 'form')],
'type': 'ir.actions.act_window',
}
其中 ctx 是通过这种方法设置的:
@api.multi
def get_product_tree_context_searches(self):
self.ensure_one()
ctx = dict()
if self.name:
ctx['search_default_product_id'] = self.name
if self.from_numerical_code:
ctx['search_default_numerical_code'] = self.from_numerical_code
return ctx
当我在尝试启动树视图时键入产品的字符串名称时出现了问题。日志说可以将字符串传递给product_id
searchview 字段。但如果我使用 Odoo 搜索视图,我可以输入产品名称并且搜索工作完美。
此时我创建了一个相关字段product_id.name
,因此我可以通过该字段搜索产品(存在于搜索视图中)
有什么方法可以传递字符串ctx['search_default_product_id'] = self.name
吗?或者唯一的方法是像我一样制作一个相关的字符串字段?
解决方案
推荐阅读
- javascript - SetInterval 未显示更新状态
- java - 在 OpenJDK for Windows 中配置异常站点列表
- javascript - 动态 tfoot 下拉过滤器缺少服务器端处理的某些选项
- react-native - 反应原生转弯导航
- c# - 使用线程 asp.net web 表单按钮单击会话到期后
- php - 如何遍历两个xml文件?
- django - 如何在模型的保存方法中使用 select_related?
- css - 更改默认颜色选择器框
- html - 如何水平排列 4 个 div,第一个 2div 的长度固定,第 4 个也固定长度,第 3 个是流动的
- javascript - 为什么我的 routeValues 变量在我的视图加载和我单击 ASP.NET MVC 中的 Html.ActionLink 之间发生变化?