odoo16入门教程第七章 基本视图

第七章 基本视图

在之前的章节中我们已经看到Odoo能够给模型生成默认的视图。 实际上,默认视图几乎从来不会用到,相反的,我们应该按照一定的逻辑来组织各个字段。

视图跟动作和菜单一样在XML文件中定义,他们是ir.ui.view模型的实例。

在我们的房地产模块中,我们需要按照一定逻辑来组织字段:

  • 在list视图中,我们不止显示name字段
  • 在form视图中,字段应该被分组
  • 在搜索视图中,我们不止能搜索name字段,另外,我们需要一个“available”的过滤器,并且能按照postcode来分组。

List

参考:关于这个主题的文档在这里 List.

目标: 这一小节最后,list视图应该如下显示

List view

列表视图也叫树形视图,以表格形式显示记录。

根元素是tree,最基本的tree视图只是简单的显示字段,一个字段对应数据库表中的一列。

<tree string="Tests">
    <field name="name"/>
    <field name="last_seen"/>
</tree>

练习: 增加一个列表视图

在合适的XML文件中给estate.property 模型增加一个list视图,检查我们的目标字段是否被显示。

Tips:

  • 不要增加editable="bottom"属性,后面我们会讨论它。
  • 一些字段的标签可能需要调整(通过string属性)

一如既往,我们需要重启服务,别忘了 -u 选项,并且刷新浏览器就能看到结果了。

警告:

你可能需要一些复制粘贴的操作,因此要确认 id字段要保持唯一。

Form

参考:关于这个主题的文档在这里 Form.

目标: 这一小节最后,form视图应该这样:

Form view

Forms视图用来新增或修改单条记录。

根元素是form, 他们由高级别的结构元素groups和notebooks以及交互元素 buttons和fields组成。

<form string="Test">
    <sheet>
        <group>
            <group>
                <field name="name"/>
            </group>
            <group>
                <field name="last_seen"/>
            </group>
            <notebook>
                <page string="Description">
                    <field name="description"/>
                </page>
            </notebook>
        </group>
    </sheet>
</form>

在form视图中可以使用html标签,比如div和h1,以及class属性(Odoo提供了一些内置的class)来微调视图的外观。

注意: 这点很重要,form视图可以高度定制化

这里有一个简单的例子here.

练习: 增加自定义的form视图。

在合适的xml文件中给estate.property 模型增加form视图,检查是否完成了这一小节的目标。

这可能需要一些尝试和错误才能得到期望的结果,建议你每次只增加一个字段或者一个标签,这样能更好的帮助你理解它怎么工作

为了避免修改视图后每次都要重启服务,使用选项 --dev xml会比较方便, 使用这个参数启动服务后,当你修改了视图,只要刷新浏览器就能看到效果。

$ ./odoo-bin --addons-path=addons,../enterprise/,../technical-training-sandbox/ -d rd-demo -u estate --dev xml

搜索(Search)

参考:关于这个主题的文档在这里Search.

目标: 这一小节最后,search视图应该这样:

Search fieldsFilterGroup By

搜索视图跟form和list视图稍微有些不同,因为它不显示任何内容。虽然他们应用到了特定的模型,不过他们用来过滤其他视图的数据(一般是list视图),除了用法的不同,他们以相同的方式定义。

根元素是search,最基本的版本简单的列出被搜索的字段:

<search string="Tests">
    <field name="name"/>
    <field name="last_seen"/>
</search>

Odoo提供的默认的搜索视图只有一个叫“name”的过滤器,用户可以在自定义的search视图中增加其他的过滤器。

练习: 增加一个自定义的搜索视图

在合适的XML文件中为estate.property 模型增加一个自定义的搜索视图 ,并且要实现本小节的目标。

重启服务后,就可以根据给定的字段来过滤数据了。

搜索视图可以包括filter元素,它包含预定义的搜索,filter必须包含下面的属性中的一个:

  • domain: 将给定域添加到当前搜索(指定where搜索条件)
  • context: 给当前搜索增加一下上下问,用group_by分组搜索结果

这里有一个简单的例子here.

在进一步的练习之前,有必要介绍一下domain的概念。

域(Domains)

参考:关于这个主题的文档在这里 Search domains.

在Odoo中,域就是一组搜索条件,类似where语句 。 域是用于选择模型记录子集的标准列表。每个条件都是一个三元组,包含“字段名”、“操作符”和“值”。如果指定的字段满足应用于该值的运算符的条件,则记录满足标准。

默认的逻辑运算是and

[('product_type', '=', 'service'), ('unit_price', '>', 1000)]

逻辑运算符放在前面,默认是& (and),其他还有 | (or), !(not)

['|',
    ('product_type', '=', 'service'),
    '!', '&',
        ('unit_price', '>=', 1000),
        ('unit_price', '<', 2000)]

练习:增加过滤器和分组

将下面内容增加到前面的搜索视图中:

  • 一个过滤器显示有效的房产,也就是说state是“新订单”或者“收到订单”
  • 根据postcode来分组结果

看上去还好码? 在这一刻我们已经能够创建模型并且设计UI,不过,一个关键的组件还没有说,模型之间的连接 link between models.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Win10系统下Odoo16的安装教程如下: 1. 首先,从Odoo官方网站(https://www.odoo.com)下载最新的Odoo16版本安装程序。 2. 打开下载的安装文件,按照提示进行安装。选择合适的安装路径和组件,并勾选“添加到环境变量”选项,以便在命令行中能够直接运行Odoo命令。 3. 安装完成后,打开命令提示符,进入Odoo安装路径下的“server”文件夹。例如,如果你将Odoo安装在C盘的Program Files文件夹下,那么可以使用以下命令进入server文件夹:cd C:\Program Files\Odoo 16.0\server。 4. 运行以下命令以初始化数据库并启动Odoo服务器:python odoo-bin -i base --addons-path=addons。 5. Odoo服务器启动后,使用浏览器打开“localhost:8069”网址,进入Odoo的登录界面。 6. 在首次登录界面中,填写管理员账号的用户名和密码,并输入要使用的数据库名称,然后点击“创建数据库”按钮。 7. 创建数据库后,就可以使用管理员账号登录Odoo系统,开始配置和使用了。 注意事项: - 在安装过程中,需要确保已经安装了Python和PostgreSQL数据库软件,并配置了正确的环境变量。 - Odoo还有许多附加模块可以安装和使用,可以通过在命令行中使用“-i”参数来添加需要安装的模块。 - Odoo的默认端口号是8069,如果需要修改端口号,可以在启动命令中使用“-p”参数指定。 以上是Win10下Odoo16的安装教程,希望能对您有所帮助。如有其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值