python - 在 odoo 9 中创建不同的形式和树
问题描述
我正在构建模块odoo。在我的模块中,需要两个表单和树,它们具有来自一个类的不同字段。我已经试过了,但没有用。这是我的代码
<record id="open_view_client_form_view_2_list_my" model="ir.actions.act_window">
<field name="name">Trial</field>
<field name="res_model">new.trial</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="view_id" ref="client_form_view_2,client_form_view_2_tree"/>
<field name="context">{ 'form_view_ref' : 'client_form_view_2', 'tree_view_ref':'client_form_view_2_tree'}</field>
<field name="search_view_id" ref="client_form_view_2_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
Click to add a new project.
</p>
</field>
</record>
和这样的错误<field name="view_id" ref="client_form_view_2,client_form_view_2_tree"/>
。我该如何解决这个问题?
解决方案
主要问题是view_id
是一个 Many2one 字段,这意味着您只能在ref
参数中指定一个视图。您应该为主要视图(首先显示)指定参考。在您的情况下,您view_mode
指定tree
视图将是主要的。
<field name="view_id" ref="client_form_view_2_tree"/>
"module_name.view_name"
尽管从技术上讲,上述内容没有任何问题,但识别 ref 也是最佳实践。
看起来您context
的设置已正确处理显示正确的表单视图。所以,我认为你的代码在你更新view_id
.
如果这仍然不起作用,那么您可能需要使用views
该操作的参数。有关更多详细信息,请参阅操作文档,但想法是这样的:
<field name="views">[(id, name), (id, name)]</field>
<!-- This is just an example. You may have to tweak this to work properly -->
<field name="views">[('your_module.tree_view', 'tree'), ('your_module.form_view', 'form')]</field>
(view_id, view_type) 对的列表。每对的第二个元素是视图的类别(树、表单、图形...),第一个元素是可选的数据库 ID(或 False)。如果没有提供 id,客户端应该为请求的模型获取指定类型的默认视图(这由 fields_view_get() 自动完成)。列表的第一种类型是默认视图类型,在执行操作时默认打开。每种视图类型在列表中最多应出现一次
推荐阅读
- javascript - 如何使用 Laravel WebSockets 通过 Laravel 中的 WebSocket 将消息从客户端发送回服务器?
- c# - 何时在“列表”操作中复制元素 (Concat())
- python - 为什么python以不同的方式解释十六进制字符串?
- sql-server - 用于 SQL 2012 的带重音字符的 BCP 导入
- python-3.x - Python 3:使用 for loop & if 语句和 .append,如何使用 if 语句对不同元素执行一些操作而不覆盖?
- r - 矢量化嵌套 for 循环 - 自制地理编码
- java - 无法找到显式活动类 (Fragment.Fragment_explorar};您是否在 AndroidManifest.xml 中声明了此活动?
- replace - Applescript 查找和移动多个文件(但替换文件名中的某些字符)
- amazon-web-services - AWS Lambda 层的大小是否会影响我的 Lambda 机器的正常运行时间或冷启动?
- python - IOError: [Errno 1] Operation not allowed 错误