Odoo安装教程12-创建新的插件模块之设置视图层第三讲

完整表单视图

此时 library.book 的表单视图代码如下:

<form string="Book">
<header>
<button name="button_check_isbn" type="object"
string="Check ISBN" />
</header>
<sheet>
<group name="group_top">
<group name="group_left">
<field name="name" />
<field name="author_ids" widget="many2many_tags" />
<field name="publisher_id" />
<field name="date_published" />
</group>
<group name="group_right">
<field name="isbn" />
<field name="active" />
<field name="image" widget="image" />
</group>
</group>
</sheet>
</form>

按钮还无法使用,需要先添加业务逻辑。

添加列表视图和搜索视图

以列表模式显示模型需要使用视图。树状视图可以按层级显示,但大多数情况下仅需显示为普通
列表。
可以在 book_view.xml 文件中添加视图:

<record id="view_tree_book" model="ir.ui.view">
<field name="name">Book List</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="author_ids" widget="many2many_tags" />
<field name="publisher_id" />
<field name="date_published" />
</tree>
</field>
</record>

以上定义了一个含有四列的列表: name, author_ids, publisher_id 和 date_published。在该
列表的右上角, Odoo 显示了一个搜索框。搜索的字段和可用过滤器也由视图定义。同样还在book_view.xml 文件中添加:

<record id="view_search_book" model="ir.ui.view">
<field name="name">Book Filters</field>
<field name="model">library.book</field>
<field name="arch" type="xml">
<search>
<field name="publisher_id" />
<filter name="filter_active"
string="Active"
domain="[('active','=',True)]" />
<filter name="filter_inactive"
string="Inactive"
domain="[('active','=',False)]" />
</search>
</field>
</record>

元素定义在搜索框中输入搜索的字段,这里添加了 publisher_id 自动提示出版商字段。
元素添加预定义过滤条件,用户通过点击来切换,它使用了特殊的语法,在第十章后台视图中将会进一步介绍。
“ 注意: Odoo 12 的修改
现在要求包含 name=”…”属性,唯一标识每个过滤器,如果不写,验证会失败,模块将无法安装或升级。 ”

更多教程:https://www.erpdaxue.cn/odoo/odoo-teach/

原文地址:https://www.cnblogs.com/odoo14/p/12952796.html