字段和小组件

字段构成数据库的模型。如果将模型描绘为表格或电子表格,则字段就是记录中存储数据的列(或行)。字段还定义了其存储的数据的类型。数据在 UI(用户界面) 上的显示方式和格式由小组件定义。

从技术角度看,Odoo有15种字段类型。您也可以在Studio的20种字段中进行选择,因为某些字段类型可以多次使用不同的默认小组件。

Tip

新字段 只能添加至 窗体 和 列表 视图。其他视图只能添加 现有字段 (即已在模型中定义好的字段) 。

简单字段

简单字段包含基本值,如文本、数字、文件等。

Note

非默认小组件(如可用)会在下方以项目符号或小标题的形式列出。

文件 (char)

文本 字段用于包含任何字符的短文本。填写该字段时显示一行文本。

  • 标记: 显示圈内值,类似于标记。该值不能在用户界面上编辑,但可以设置默认值。

  • 复制到剪贴板: 用户可以点击按钮复制值。

  • 电子邮件: 该值变为可点击的 电子邮件 链接。

  • 图片: 使用URL显示图片。该值不能手动编辑,但可以设置默认值。

    Note

    这与直接选择 图像字段 不同,因为使用带 图像 小组件的 文本 字段时,图像不会存储在 Odoo 中。例如,如果您想节省磁盘空间,这会很有用。

  • 电话: 该值变为可点击的 电话 链接。

    Tip

    勾选 启用短信 ,可直接从该号码字段旁的图标用Odoo发送短信。

  • URL: 该值变为可点击的URL。

Example

具有不同小组件的文本字段示例

多行文本 (text)

多行文本 字段用于包含任何类型字符的较长文本。填写该字段时,用户界面上显示两行文本。

  • 复制到剪贴板: 用户可以点击按钮复制值。

Example

具有不同小组件的多行文本字段示例

整数 (integer)

整数 字段用于所有整数(正数、负数或零,且不含小数 )。

  • 百分比饼图: 显示百分比饼图值,通常为计算得出的值。该值无法在用户界面上编辑,但可以设置默认值。

  • 进度条: 显示百分比条旁的值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。

  • Handle排序: 显示拖动手柄图标,用于在 List view 中手动排序记录。

Example

具有不同小组件的整数字段示例

小数 (float)

小数 字段用于所有小数 (正小数,负小数, 零, 需要小数点的数字)。

Note

小数在用户界面上显示为两位小数,保存在数据库中时精度更高。

  • 货币:与使用 货币字段 类似。建议使用后者,因为它提供更多功能。

  • 百分比: 在数值后显示百分比符号。

  • 百分比饼图: 显示百分比饼图值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。

  • 进度条: 显示百分比条旁的值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。

  • 时间: 数值须为 小时:分钟 格式,最大分钟值为59。

Example

具有不同小组部件的小数字段示例

货币 (monetary)

货币 字段用于所有货币值。

Note

首次添加 货币 字段时,如果模型上不存在 币种 字段,则会提示添加 币种 字段。Odoo为您添加 币种 字段。添加完成后,应再次添加 货币 字段。

Example

货币字段及其币种字段示例

超文本标记语言 (html)

超文本标记语言 字段用于添加可使用Odoo HTML编辑器编辑的文本。

  • 多行文本: 禁用Odoo HTML编辑器,以便允许编辑原超文本标记语言。

Example

具有不同小组件的超文本标记语言字段示例

日期 (date)

日期 字段用于从日历选择日期。

  • 剩余天数:根据当前日期,显示距离所选日期还有多少天(例如,5 天后)。该字段应设为 只读 。

Example

具有不同小组件的日期字段示例

日期和时间 (datetime)

日期和时间 字段用于从日历选择日期,从钟表选择时间。如果未设置时间,则自动采用用户的当前时间。

Tip

除了 通用属性 之外,对于设置了 日期和时间 或 日期范围 小组件的 日期和时间 字段,还可以使用一些 特定属性 。

日期范围(daterange)

日期范围 小组件用于在同一行中显示由开始日期和结束日期定义的一段时间。日期范围可以有必填的开始日期和结束日期(例如,多天的活动),也可以允许可选的开始日期或结束日期(例如,现场服务介入或项目任务)。

添加日期范围需要两个字段:一个设置了 日期范围 小组件的 日期和时间 字段,以及另一个被选为开始日期 或 结束日期的字段。这个基础字段可以是现有的 日期 或 日期和时间 字段,也可以是为该用途专门创建的字段。

要添加日期范围:

  1. 确定可用作基础开始/结束日期字段的现有 日期 或 日期和时间 字段,或者添加一个新字段。如果该日期范围:

    • 具有必填的开始日期和结束日期,则该字段既可以是开始日期,也可以是结束日期;结果相同。

    • 允许可选的开始日期或结束日期,则该字段相应地分别为开始日期或结束日期。

    Tip

    为避免重复显示相同的信息,可以通过启用 不可见 使基础开始/结束日期字段不可见,或点击 从视图中移除 将其从视图中移除。

  2. 添加一个 日期和时间 字段,并将 小组件 字段设为 日期范围 。

  3. 输入合适的 标签 。

  4. 根据需要,在 开始日期字段 或 结束日期字段 下拉菜单中选择基础开始/结束日期字段。

  5. 如果该日期范围应具有必填的开始日期和结束日期,请启用 始终为范围 。

  6. 根据需要更新其他 通用属性 或 日期和时间字段专用属性 ,然后点击屏幕右上角的 关闭 。

Example

具有不同小组件的日期和时间字段示例

剩余天数(remaining_days)

剩余天数 小组件根据当前日期和时间,显示距离所选日期还有多少天(例如,5 天后)。该字段应设为 只读 。

复选框 (boolean)

复选框 字段用于值只能为是或否时,选中或取消选中复选框,以进行指示。

  • 按钮: 显示为单选按钮。该小组件可在不切换至编辑模式的情况下工作。

  • 切换: 显示为切换按钮。该小组件可在不切换至编辑模式的情况下工作。

Example

具有不同小组件的复选框字段示例

选择 (selection)

选择 字段用于用户从一组预定义值中选择一个值。

  • 标记: 显示圈内值,类似于标记。该值不能在用户界面上编辑,但可以设置默认值。

  • 多个标记: 在水平排列的矩形内同时显示所有可选值。

  • 优先级:显示星形符号而不是数值,例如可用于表示重要性或满意度。这与选择 优先级字段 的效果相同,不过后者已预定义了四个优先级值。

  • 单选: 同时显示所有可选值的单选按钮。

    Tip

    默认情况下,单选按钮垂直排列。启用 水平显示 可切换它们的显示方式。

  • 状态栏:将所有可选值同时显示为箭头形式的进度条。

    Tip

    默认情况下,状态栏上的值是可选的。禁用 可点击 可防止在界面上编辑该值。

Example

具有不同小组件的选择字段示例

优先级 (selection)

优先级 字段用于显示三星评级系统,可用于表示重要性或满意度。此字段类型是一个 选择字段 ,默认选中 优先级 小组件,并预定义了四个优先级值。因此,标记 、 多个标记 、 单选 和 选择 小组件的效果与 选择 下所述相同。

Tip

要通过添加或删除值来更改可用星的数量,点击 编辑值 。请注意,第一个值等于0星(即未作选择),因此,三星评级系统具有4个值。

Example

优先级字段示例

文件 (binary)

文件 字段用于上传任何类型的文件,或 签署表单 (电子签名 小组件)。

  • 图像:用户可以上传图像文件,该文件随后会显示在 表单视图 中。这与使用 图像字段 的效果相同。

  • PDF查看器 : 用户可以上传PDF文件,上传后,可以在 表单视图 中查看该文件。

  • 签署:用户可以电子签署表单。这与选择 签署字段 的效果相同。

Example

具有不同小组件的文件字段示例

图片 (binary)

图像 字段用于上传图像并在 表单视图 中显示。此字段类型是一个 文件字段 ,默认选中 图像 小组件。因此,文件 、 PDF 查看器 和 签署 小组件的效果与 文件 下所述相同。

Tip

要更改上传图片的显示大小,在 尺寸 选项下选择 小 、 中 或 大 。

签署 (binary)

签署 字段用于电子签署表单。此字段类型是一个 文件字段 ,默认选中 签署 小组件。因此,文件 、 图像 和 PDF 查看器 小组件的效果与 文件 下所述相同。

Tip

要让用户在必须绘制签名时可以选择 自动 选项,请选择可用的 自动补全依据 字段之一(仅限模型上的 文本 、 Many2One 和 相关字段 )。签名将使用所选字段的数据自动生成。

关系字段

关系字段用于链接并显示另一模型中记录的数据。

Note

非默认小组件(如可用)显示为以下项目符号。

Many2One (many2one)

Many2One 字段用于将另一记录(来自另一模型)链接至正在编辑的记录。来自另一模型的记录名称将显示在正在编辑的记录中。

Example

在 销售订单 模型中, 客户 字段为指向 联系人 模型的 Many2One 字段,允许 多个 销售订单链接至 一个 联系人(客户)。

显示many2one关系的图表

Tip

  • 要防止用户在链接的模型中创建新记录,勾选 禁用创建 。

  • 要防止用户在弹窗中打开记录,勾选 禁用打开 。

  • 要帮助用户只选择正确的记录,点击 域 ,创建筛选器。

  • 标记 : 显示圈内值,类似于标记。该值不能在用户界面上编辑。

  • 单选: 同时显示所有可选值的单选按钮。

One2Many (one2many)

One2Many 字段用于显示当前模型中的记录和另一模型中的多个记录间的现有关系。

Example

您可以在 联系人 模型中添加 One2Many 字段,以查看 一个 客户的 多个 销售订单。

显示one2many关系的图表

Note

要使用 One2Many 字段,两个模型必须已经通过 Many2One 字段 建立关联。One2Many 关系不能独立存在:系统会执行对现有 Many2One 关系的反向搜索。

多行 (one2many)

多行 字段用于创建有多行和多列的表格(例如,销售订单中的多个产品行)。

Tip

要修改列,点击 多行 字段,然后点击 编辑列表视图 。要编辑用户点击 添加明细 时弹出的表单,改为点击 编辑表单视图 。

Example

多行字段示例

多对多Many2Many (many2many)

Many2Many 字段用于将另一模型的多条记录与当前模型的多条记录关联。Many2Many 字段可以使用 禁用创建 、 禁用打开 、 域 ,就像 Many2One 字段 一样。

Example

在 任务 模型中, 受托人 字段为指向 联系人 模型的 Many2Many 字段,允许向单个用户分配 多个 任务,以及将 多个 用户分配给同一任务。

显示many2many关系的图表
  • 多个复选框 : 用户可以通过多个复选框选择多个值。

  • 标签:用户可以选择多个以圆角形状显示的值,也称为 标签。这与选择 标签字段 的效果相同。

标签 (many2many)

标签 字段用于以圆角形状(也称为 标签)显示来自另一模型的多个值。此字段类型是一个 Many2Many 字段 ,默认选中 标签 小组件。因此,多个复选框 和 Many2Many 小组件的效果与 Many2Many 下所述相同。

Tip

要显示具有不同背景颜色的标记,勾选 使用颜色 。

Example

标记字段示例

属性

通用属性

  • 不可见:当用户无需在界面上查看某个字段时启用此属性。这有助于精简界面,只显示特定情况下必要的字段。

    不可见 属性在 Studio 中也同样适用。要在 Studio 中查看隐藏的字段,请点击视图的 视图 选项卡,并启用 显示不可见元素 。

  • 必填:如果用户必须填写某个字段才能继续操作,请启用此属性。

  • 只读:如果用户不应能够修改某个字段,请启用此属性。

Note

您也可以点击 条件 并创建筛选器,仅为特定记录启用 不可见 、 必填 和 只读 。

Example

在 联系人 模型的 表单 视图中, 职务 字段仅在选择 个人 时显示。因为该字段对 公司 联系人无用。

  • 标签:字段在界面上的名称。这不是 PostgreSQL 数据库中使用的名称。要查看并更改后者,请激活 开发者模式 并编辑 技术名称 。

  • 帮助提示:要说明字段的用途,可添加描述。当鼠标悬停在字段标签旁的问号上时,该文本会显示在提示框中。

  • 小组件 : 要更改某字段的默认外观或功能,选择可用小组件中的一个。

  • 占位符:要提供字段填写方式的示例,可添加占位符文本。在输入值之前,该文本以浅灰色显示。

  • 默认值:要在创建记录时在字段中显示默认值,可添加一个值。

  • 允许以下用户组可见:要限制哪些用户可以查看该字段,请选择一个或多个用户访问 组 。

  • 禁止以下用户组可见:要阻止某些用户看到该字段,请选择一个或多个用户访问 组 。

日期和时间字段的属性

对于设置了 日期和时间 或 日期范围 小组件的 日期和时间 字段,可以使用一些特定属性:

  • 最小精度:确定日期选择器中必须选择的最小日期单位。可选值为 日 、 月 、 年 或 十年 。如果未选择任何值,用户必须在日期选择器中选择具体某一天。

  • 最大精度:确定可用于浏览日期选择器的最大日期单位。可选值为 日 、 月 、 年 或 十年 。如果未选择任何值,用户可以按十年为单位浏览日期选择器。

  • 未来日期警告:启用此属性可在选择了未来日期时显示警告图标。

  • 紧凑显示:启用此属性可显示不带前导零的日、月和小时,例如以 4/2/2025 8:05:00 代替 04/02/2025 08:05:00 。

  • 显示时间:此属性对 日期和时间 字段默认启用。对于只读字段,禁用该属性可仅显示日期。例如,这可以让列表视图不那么杂乱。

  • 显示秒:此属性对 日期和时间 字段默认启用。禁用该属性可仅显示小时和分钟。

  • 时间间隔:输入一个值以确定时间选择器中显示的分钟间隔。例如,输入 15 可按 15 分钟为间隔。默认值为 5 分钟。

  • 最早可选日期:以 ISO 格式(即 YYYY-MM-DD )输入可在日期选择器中选择的最早日期。如果最早可选日期始终为当前日期,请输入 today 。在日期选择器中,早于最早可选日期的日期会显示为灰色。

  • 最晚可选日期:以 ISO 格式(即 YYYY-MM-DD )输入可在日期选择器中选择的最晚日期。如果最晚可选日期始终为当前日期,请输入 today 。在日期选择器中,晚于最晚可选日期的日期会显示为灰色。