再odoo 产品搜索视图中用继承视图的方式增加搜索字段spec_model
时间: 2024-10-06 21:06:16 浏览: 33
MYVIEWS_ODOO12视图_
在Odoo中,如果你想在产品搜索视图中通过继承视图的方式增加一个新的搜索字段`spec_model`,你可以这样做:
1. **创建视图继承**:在`views`目录下的`search.xml`文件中,找到对应的产品模块(比如`product`)的搜索视图继承。通常,这个视图位于`product.product.view_search.xml`。复制该视图并粘贴到新创建的`product_search_inherit_view.xml`或其他自定义名称的文件中。
```xml
<record id="view_product_search_inherit" model="ir.ui.view">
<field name="inherit_id" ref="product.product_view_search"/>
<field name="name">product.search.inherit</field>
<!-- 新增搜索字段 -->
<xpath expr="//div[@name='search']" position="after">
<field name="spec_model"/>
</xpath>
</record>
```
这里,`<xpath>`元素用于在现有搜索视图的结构中插入新的搜索字段。
2. **注册视图**:在同级的`__init__.py`文件中,你需要注册这个新视图:
```python
from odoo import registry
# ...
def register_views():
# 确保视图加载前,已经初始化了model registry
registry.get('product.template')._load()
# 注册搜索视图
env['ir.ui.view'].register(
'your_module.name',
'product_search_inherit_view',
'product.search.inherit',
'search',
'form'
)
# ...在其他地方调用
register_views()
```
3. **权限和字段可用性**:确保用户有查看`spec_model`字段的权限,并在需要的地方调整数据访问规则。
阅读全文