• 星辉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/

  • 相关阅读:
    python爬虫之破解javascript-obfuscator的混淆加密
    python反爬之前端加密技术
    轻松截获 Selenium 中的 Ajax 数据
    macos安装selenium+浏览器驱动
    爬虫神器,对ajax加载的数据进行hook截取,无视带有加密参数的接口
    macos 配置apache,mysql,php,nginx环境
    对WX公众号文章的爬取分析
    对app的反爬测试之apk逆向分析-frida绕过ssl pinning检测
    macos 安装frida的坑
    简易OA漫谈之工作流设计(四,怎么支持会签)
  • 原文地址:https://www.cnblogs.com/odoo14/p/12663845.html
Copyright © 2020-2023  润新知