字段和小组件

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

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

小技巧

新字段 只能添加至 窗体列表 视图。其他视图只能添加 现有字段 (fields already on the model)

简单字段

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

注解

可用的非默认小部件将以项目符号或子标题的形式呈现如下。

文件( char

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

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

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

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

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

    注解

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

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

    小技巧

    勾选 启用短信 ,添加直接从字段旁的Odoo发送短信的选项。

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

Example

Examples of Text fields with different widgets

多行文本( text

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

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

Example

Examples of Multiline Text fields with different widgets

整数( integer

整数 字段用于所有整数( positive, negative, or zero, without a decimal )。

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

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

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

Example

Examples of Integer fields with different widgets

小数( float

小数 字段用于所有小数( positive, negative, or zero, with a decimal )。

注解

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

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

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

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

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

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

Example

Examples of Decimal fields with different widgets

货币( monetary

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

注解

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

Example

Example of a Monetary field along with its Currency field

超文本标记语言( html

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

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

Example

Examples of Html fields with different widgets

日期( date

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

  • 剩余天数 :显示距离所选日期的剩余天数(例如, 5 天后 ),基于当前日期。此字段应设置为 只读

Example

Examples of Date fields with different widgets

日期和时间( datetime

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

小技巧

除了 通用属性 ,一些 特定属性 也可用于设置了 日期和时间日期范围 小部件的 日期和时间 字段。

日期范围 (daterange)

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

添加日期范围需要两个字段:一个设置了 日期范围 小部件的 日期和时间 字段,以及另一个被选为开始日期或结束日期的字段。此底层字段可以是现有的 日期日期和时间 字段,也可以是为此目的专门创建的字段。

添加日期范围:

  1. 找出可用作底层开始/结束日期字段的现有 日期日期和时间 字段,或者添加一个新的字段。如果日期范围:

    • 具有强制性的开始日期和结束日期,则此字段可以是开始日期或结束日期;结果相同。

    • 允许可选的开始或结束日期,则此字段分别是开始日期或结束日期。

    小技巧

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

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

  3. 输入适当的 标签

  4. 根据需要,从 开始日期字段结束日期字段 下拉菜单中选择底层的开始/结束日期字段。

  5. 如果日期范围应具有强制性的开始和结束日期,请启用 始终为范围

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

Example

Examples of Date & Time fields with different widgets

剩余天数 (remaining_days)

剩余天数 小部件根据当前日期和时间显示距离所选日期的剩余天数(例如, 5 天后 )。此字段应设置为 只读

复选框( boolean

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

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

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

Example

Examples of Checkbox fields with different widgets

选择( selection

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

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

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

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

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

    小技巧

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

  • 状态栏 :同时显示所有可选值,作为箭头进度条。

    小技巧

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

Example

Examples of Selection fields with different widgets

优先级( selection

优先级 字段用于显示三星级评分系统,可用于表示重要性或满意度等级。此字段类型是一个 选择字段 ,默认选择了 优先级 小部件,并预定义了四个优先级值。因此, 徽章多徽章单选按钮选择 小部件的效果与 选择字段 中描述的效果相同。

小技巧

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

Example

Example of a Priority field

文件( binary

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

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

  • PDF查看器 :用户可以上传PDF文件,上传后,可以在 Form view 中查看该文件。

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

Example

Examples of File fields with different widgets

图片( binary

图像 字段用于上传图像并在 表单视图 中显示。此字段类型是一个 文件字段 ,默认选择了 图像 小部件。因此, 文件PDF 查看器签名 小部件的效果与 文件字段 中描述的效果相同。

小技巧

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

签署( binary

签名 字段用于对表单进行电子签名。此字段类型是一个 文件字段 ,默认选择了 签名 小部件。因此, 文件图像PDF 查看器 小部件的效果与 文件字段 中描述的效果相同。

小技巧

如果希望在用户必须绘制签名时提供 自动 选项,请选择其中一个可用的 自动完成 字段(仅限模型上的 文本多对一关联字段 )。签名将根据所选字段的数据自动生成。

关系字段

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

注解

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

Many2One( many2one

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

Example

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

Diagram showing a many2one relationship

小技巧

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

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

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

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

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

One2Many( one2many

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

Example

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

Diagram showing a one2many relationship

注解

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

多行( one2many

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

小技巧

要修改列,点击 多行 字段,然后点击 编辑列表视图 。要编辑用户点击 Add a line 时弹出的表单,改为点击 编辑表单视图

Example

Example of a Lines field

Many2Many( many2many

多对多 字段用于将另一个模型中的多个记录链接到当前模型中的多个记录。多对多字段可以像 多对一字段 一样使用 禁用创建禁用打开

Example

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

Diagram showing many2many relationships
  • 多个复选框 :用户可以通过多个复选框选择多个值。

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

标签( many2many

标签 字段用于显示来自另一个模型的多个值,这些值以圆角形状显示,也称为 标签 。此字段类型是一个 多对多字段 ,默认选择了 标签 小部件。因此, 复选框多对多 小部件的效果与 多对多字段 中描述的效果相同。

小技巧

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

Example

Example of a Tags field

权益

通用属性

  • 隐藏 :如果用户不需要在界面上查看某个字段,请启用此属性。这可以通过仅显示特定情况下的必要字段来简化界面。

    隐藏 属性同样适用于 Studio 内部。要在 Studio 中查看隐藏字段,请点击视图的 视图 标签页并启用 显示隐藏元素

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

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

注解

您可以通过点击 条件 并创建过滤器,仅为特定记录启用 隐藏必填只读

Example

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

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

  • 帮助提示 :为了解释字段的用途,请添加描述。当鼠标悬停在字段标签旁的问号上时,文本将显示在提示框中。

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

  • 占位符 :为了提供字段填写的示例,请添加占位符文本。在输入值之前,文本将以浅灰色显示。

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

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

  • 禁止可见的组 :为了防止某些用户看到该字段,请选择一个或多个用户访问

日期和时间字段的属性

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

  • 最小精度 :确定日期选择器中必须选择的最小日期单位。可能的值是 十年 。如果没有选择值,则用户必须在日期选择器中选择一天。

  • 最大精度 :确定可用于导航日期选择器的最大日期单位。可能的值是 十年 。如果没有选择值,则用户可以通过十年导航日期选择器。

  • 未来日期警告 :如果选择了未来日期,请启用此属性以显示警告图标。

  • 紧凑显示 :启用此属性以不显示前导零,例如显示 4/2/2025 8:05:00 而不是 04/02/2025 08:05:00

  • 显示时间 :此属性默认对 日期和时间 字段启用。对于只读字段,禁用此属性以仅显示日期。例如,这可以使列表视图更简洁。

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

  • 时间间隔 :输入一个值以确定时间选择器中显示的分钟间隔。例如,输入 15 以允许每刻钟间隔。默认值设置为 5 分钟。

  • 最早可接受日期 :输入日期选择器中可以选择的最早日期,使用 ISO 格式,即 YYYY-MM-DD 。如果当前日期始终是最早可接受日期,请输入 today 。在日期选择器中,早于最早可接受日期的日期将被灰显。

  • 最晚可接受日期 :输入日期选择器中可以选择的最晚日期,使用 ISO 格式,即 YYYY-MM-DD 。如果当前日期始终是最晚可接受日期,请输入 today 。在日期选择器中,晚于最晚可接受日期的日期将被灰显。