zoukankan      html  css  js  c++  java
  • 星辉Odoo开发教程4-创建新的模型(Model)

    模型是应用的基本组件,包含了所需使用到的数据结构和存储。接下来我们就为 To-do 项目添加模型,将包含三个字段:
    ⚫ Description
    ⚫ Is done? 标记
    ⚫ Work team 用户列表

    如前所述,通过菜单 Settings > Technical > Database Structure > Models 可进入模型创建页面,步骤如下:
    1、 进入模型菜单,点击左上角 Create 按钮,在弹出页面填入:
    ⚫ Model Description: To-do Item
    ⚫ Model: x_todo_item
    在进一步添加字段之前可以先进行保存。

    2、 点击 Save 保存然后点击 Edit 再次进入编辑,可以看到 Odoo 自动添加了一些字段,
    ORM 在所有模型中添加了这些字段,可用于审计和记录功能。x_name (或 Name)字段是在列表中显示记录或其它记录中引用时显示的标题。在 To-do Item标题中将使用它,还可以对其进行编辑将字段标签改为更能表达含义的描述。基于前面的知识添加
    Is Done? 标记此时就显得非常容易了。

    3、 在字段列表页底部点击 Add a line 链接创建一个包含如下值的字段:
    ⚫ Field Name: x_is_done
    ⚫ Field Label: Is Done?
    ⚫ Field Type: boolean

    接下来添加 Work Team 字段就带有挑战性了,不仅因为这是一个指向 res.partner 对应记录的关联字段,它还是一个包含多个值的 selection 字段。在很多框架中这都会颇为复杂,但所幸我们使用的是 Odoo,因为它支持 many-to-many 关联。任务清单应用属于这一情况, 因为一条任务可以有多个用户,同时一个用户也可以参与多个任务。

    4、 再次在字段列表中点击 Add a line,添加一个包含如下值的字段:
    ⚫ Field Name: x_work_team_ids
    ⚫ Field Label: Work Team
    ⚫ Field Type: many2many
    ⚫ Object Relation: res.partner
    ⚫ Domain: [(‘x_is_work_team’, ‘=’, True)]
    many-to-many 字段有其独有的定义项-Relation Table, Column 1, and Column 2 项,这些值会被自动填充,大多数情况下都无需修改。在第六章模型中将会有更详细的探讨。 Domain 项为非必填项,这里使用到是因为只有符合条件的用户才可被选取加入工作组,如果不加这项则所有用户均可被选取

    Domain 表达式中对展示的记录进行了过滤,它遵循 Odoo 独有的语法 – 一个包含三个值的元组(补充:经测试使用列表也同样可以),第一项为待过滤的字段名、第二项为过滤操作符、第三项为过滤作用的值。详细的解释参见第七章 记录集 – 使用模型数据。

    “ 小贴士: Odoo 有一个交互式的 domain 过滤向导可帮助生成 domain 表达式。访问Settings > Technical > User Interface > User-defined Filters,点击 Create 选择模型后将会出现 Add filter 按钮,可通过选择字段在下方的文本框中实时生成 domain 表达式。 ”
    现在我们已经为 To-do 应用创建好了模型,但还无法使用它,在创建模型后,我们需要配置组来使用该模型。

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

  • 相关阅读:
    eclipse安装m2e
    Ubuntu安装Maven(转)
    父亲节点的实现
    vscode go linux 依赖包
    golang DHCPv4/v6 demo
    解决golang.org模块无法下载的问题
    go 网络数据包分析(3)
    go 网络数据包分析(2)
    Go语言:判断IP是否合法是IPv4还是IPv6
    go IP地址转化为二进制数
  • 原文地址:https://www.cnblogs.com/odoo14/p/12663845.html
Copyright © 2011-2022 走看看