创建ODOO12视图

前面我们创建了一个任务清单模型通过菜单项在用户界面中显示,接下来我们为它创建两个基本视图:列表视图和表单视图。
列表视图
创建列表视图步骤如下:
点击设置>技术>用户界面>视图
在这里插入图片描述
点击创建按钮进入视图编辑页面,填入如下值:

  • 视图名称: To-do List View
  • 视图类型: 树形
  • 模型: x_todo_item
    2、在结构标签下,使用 XML 书写视图的结构,代码如下:
<tree>
    <field name="x_name" />
    <field name="x_is_done" />
</tree>

列表视图的基本结构非常简单:一个包含列表视图中显示的一个或多个数据列的元素(element)。
效果如下:
在这里插入图片描述
在这里插入图片描述
表单视图
创建表单视图的步骤如下:
1、创建另一条视图记录,并填入如下值:

  • 视图名称: To-do Form View
  • 视图类型: 表单
  • 模型: x_todo_item

2、在结构标签下, 输入如下XML 代码:

<form>

  <group>

    <field name="x_name" />

    <field name="x_is_done" />

    <field name="x_work_team_ids"

    widget="many2many_tags"

    context="{'default_x_is_work_team': True}" />

 </group>

</form>

在这里插入图片描述
表单视图结构根节点有一个元素,包含元素。这里还有一个针对工具组字段的小组件(widget),以标签按钮而非列表栏显示。这一个按钮状标签通过在工作组字段中添加 widget 属性来实现。

默认情况下,关联字段允许直接创建记录用作关联。也就说可以在工作组字段中直接创建用户,但如果这么做用户将不会带有Is Work Team? 标记,也就产生了不一致性。

为了更好的用户体验,在这种情况下我们可以默认就带有这一标记。这需要通过 context 属性来实现,它向下一个视图传递 session 信息,比如要使用的默认值。在后续章节中会就此进行探讨,现在只要知道这是一个键值对的字典即可。以 default_作为前缀来提供对应字段的默认值。

所以此处要为用户设置Is Work Team? 标记所需的表达式为{‘default_x_is_work_team’: True}。
效果如下:
在这里插入图片描述
搜索视图
我们可以为列表视图右上角的搜索框预设一些过滤项和分组选项,Odoo 把这也视为视图元素,所以可以像列表视图和表单视图一样在 Views 中添加记录来定义。想必现在大家已经非常熟悉了,在菜单中点击设置>技术> 用户界面>视图或在开发者工具中对应上下文中进行编辑操作均可。我们进入任务清单列表视图,点击开发者工具中的编辑搜索视图
在这里插入图片描述
当前列表清单模型还未定义过任何搜索视图,所以显示一个空表单用于进行创建,填入如下值并保存:

  • 视图名称:选择一个有意义的描述,此处使用To-do Items Filter
  • 视图类型: 搜索
  • 模型: x_todo_item
  • 结构: 添加如下XML 代码:
 <search>

   <filter name="item_not_done"

             string="Not Done"

             domain="[('x_is_done', '=', False)]" />

</search>

在这里插入图片描述
此时重载任务清单,可以在搜索框下方筛选按钮下选择预设的 Not Done 过滤器,
在这里插入图片描述
在搜索框中输入 Not Done也会提示过滤条件。
在这里插入图片描述
默认开启过滤器会较便捷,在不需要时取消过滤即可。正如默认字段值一样,还是使用 context 属性来设置默认过滤器。
在点击 To-do 菜单时,执行一个窗口操作打开列表视图,该操作可设置一个上下文值,让视图默认开启某一搜索过滤器,操作步骤如下:

  1. 点击To-do 菜单进入任务清单列表

  2. 点击开发者工具图标并选择编辑动作,

在这里插入图片描述
这时将弹出一个窗口操作界面,在右下角有一个筛选版块,这里有域值上下文值字段。域值字段可用于为所显示记录设置固定的过滤器,而且用户无法删除。这不符合我们的场景。我们只是要默认开启item_not_done过滤器,用户可以随时取消选择。默认打开过滤器,添加以search_default_作为前缀的上下文值键,这里使用{‘search_default_item_not_done’:True}
在这里插入图片描述
这时再点击 To-do 菜单,搜索框中默认就会开启 Not Done 过滤器。
在这里插入图片描述
关闭默认过滤器
在这里插入图片描述
视频演示:
http://ctdrive.tderp.com/file/13502532-461163653

https://www.tderp.com/alyun/20221113/创建ODOO12视图.mp4

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

r_nznf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值