odoo 是一个高数据库驱动的软件框架,odoo 模块中的视图也有多种类型,如form,tree/list,serach,kanban,graph,calendar 等。这些视图都以 xml 格式保存在数据库中,当用户请求的时候,再从数据库中加载并渲染为 html 页面,并呈现在用户的面前。
基本视图form,tree/list,search
form
<record id="estate_property_view_form" model="ir.ui.view">
<field name="name">estate.property.form</field>
<field name="model">estate.property</field>
<field name="arch" type="xml">
<form string="Form">
<sheet>
<h1>
<field name="name" />
</h1>
<group>
<group>
<separator string="Basic Information" />
<field name="postcode" />
<field name="date_availability" />
<field name="expected_price" />
<field name="selling_price" />
<field name="bedrooms" />
<field name="description" />
</group>
<group>
<separator string="Additional Information" />
<field name="living_area" />
<field name="facades" />
<field name="garage" />
<field name="garden" />
<field name="garden_area" />
<field name="garden_orientation" />
</group>
</group>
</sheet>
</form>
</field>
</record>
tree
<record id="estate_property_view_tree" model="ir.ui.view">
<field name="name">estate.property.view.tree</field>
<field name="model">estate.property</field>
<field name="arch" type="xml">
<tree>
<field name="name" />
<field name="date_availability" />
<field name="expected_price" />
<field name="selling_price" />
<field name="bedrooms" />
<field name="living_area" />
<field name="facades" />
<field name="garage" />
<field name="garden" />
<field name="garden_area" />
<field name="garden_orientation" />
</tree>
</field>
</record>
search
<record id="estate_property_search" model="ir.ui.view">
<field name="name">estate.property.search</field>
<field name="model">estate.property</field>
<field name="arch" type="xml">
<search string="Estate property filter">
<filter name="garden" domain="[('garden', '=', True)]" />
</search>
</field>
</record>