Form视图常用参数:
model:指定Form视图所属的模型(数据库模型)。
string:视图的显示名称。
create、delete、edit:这些参数用来控制用户是否可以通过Form视图创建、删除或编辑记录。通常它们的值是布尔类型的。
duplicate:控制是否可以复制记录。
Form视图内置元素:
- :这是Form视图的根元素。
-
:通常用来显示状态条、动作按钮等。 - :一个容器元素,用来增加布局分隔,通常包含主要的表单字段。
- :用于将字段分组展示,可以嵌套使用来创建不同的布局。
- :代表一个字段,必须设置name属性为模型中的字段名。
- :用于创建标签页,每个标签页可以包含不同的字段集合。
- :在内部定义的标签页。
- :定义一个按钮,可以设置不同的动作,如保存、取消等。
XML视图示例:
<odoo>
<record id="view_form_example" model="ir.ui.view">
<field name="name">model.example.form</field>
<field name="model">model.example</field>
<field name="arch" type="xml">
<form string="Example Form">
<header>
<button string="Send" type="object" name="action_send" class="oe_highlight"/>
<button string="Cancel" type="object" name="action_cancel"/>
<field name="state" widget="statusbar" clickable="True"/>
</header>
<sheet>
<group>
<group string="Group 1">
<field name="name"/>
<field name="description"/>
</group>
<group string="Group 2">
<field name="date_start"/>
<field name="date_end"/>
</group>
</group>
<notebook>
<page string="Extra Info">
<group>
<field name="extra_info"/>
</group>
</page>
</notebook>
</sheet>
</form>
</field>
</record>
</odoo>
在上面的XML示例中,一个简单的Form视图被定义用来展示和编辑model.example模型的记录。视图中包含了一个头部区域(header)定义了两个按钮和一个状态条(statusbar),一个sheet来包含所有表单字段,字段被分为两个组(group),最后一个notebook包含了一个额外信息的页面。
这个视图允许用户查看名字、描述、开始日期、结束日期,并在额外信息的标签页中输入更多的数据。状态条允许用户查看记录的当前状态,并且如果状态条是可点击的,用户可以改变记录的状态。按钮被用来触发自定义的动作,如发送或取消。