字段和小组件

字段构成了数据库 模型 的结构。如果把模型看作一张表格或电子表格,字段就是列,记录就是每一行。字段还定义了其中存储的数据类型。字段数据在 UI 上呈现和格式化的方式由其小组件控制。

使用 Studio 可以执行以下操作:

Studio 字段与属性字段

使用 Studio 创建的字段会作为列保存到你的 Odoo 数据库中。而 属性字段 起到伪字段的作用;它们被所有链接到同一父记录的记录共享(例如任务对应项目,或产品对应产品类别),但不会作为列保存到数据库中。

Example

使用 Studio 在任务的表单视图中添加 截止日期 字段,该字段会在数据库中的所有任务中可见。给任务添加 特殊说明 属性字段,则该字段只在 同一项目 (即其父记录)内的所有任务中可见,而其他项目的任务不受影响。

字段类型

字段大致可分为两大类:

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

  • 关联字段,用于链接和显示另一个模型中记录的数据。

AI 字段

AI 字段 本质上是具备 AI 能力的标准 Odoo 字段,允许通过提示词自动生成其值。

简单字段

注解

非默认小组件(如可用时)以项目符号或小标题的形式呈现。

文件( char )

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

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

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

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

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

    注解

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

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

    小技巧

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

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

Example

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

多行文本( text )

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

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

Example

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

整数( integer )

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

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

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

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

Example

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

小数( float )

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

注解

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

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

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

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

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

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

Example

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

货币( monetary )

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

注解

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

Example

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

超文本标记语言( html )

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

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

Example

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

日期( date )

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

  • 相对日期:使用 昨天、今天、3 天后、2 个月前 等相对词语,以相对于当前日期的方式表达字段值。该字段应设置为 只读。

Example

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

日期和时间( datetime )

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

小技巧

除 一般属性 外,设置了 日期时间 或 日期范围 小工具的 日期时间 栏位,有一些额外的 特定属性 可用。

日期范围( daterange )

日期范围 小工具适用于显示包括开始日期及结束日期的时间段,以一行显示全部资料。日期范围可将开始及结束日期设为必填(例如:表示多天活动的日期),也可将开始或结束日期设为可选填(例如:用于上门介入工作或项目任务)。

加入日期范围时,需要有两个字段:一个是附有 日期范围 小工具的 日期时间 字段,另一个是设为开始日期 或 结束日期的字段。底层的参考字段可以是现有的 日期 或 日期时间 字段,也可以是专门为此用途而建立的字段。

要加入日期范围:

  1. 确定一个现有的 日期 或 日期时间 字段,用作底层的开始或结束日期参考字段,或新增一个字段。如果日期范围是:

    • 必须填写开始及结束日期,此字段可以是开始日期或结束日期,选择两者的结果相同。

    • 允许选填开始日期或结束日期,此字段便会分别是开始日期或结束日期。

    小技巧

    为避免重复显示相同资讯,你可将底层的开始/结束日期字段,设定为 不显示 ,或点击 从视图中移除 ,将该日期从视图画面中移除,使之无法看见。

  2. 加入一个 日期时间 字段,并将 小工具 栏位设定为 日期范围 。

  3. 输入适当的 标签 。

  4. 根据需要,在 开始日期字段 或 结束日期字段 下拉式选单中,选择相应的底层开始/结束日期字段。

  5. 若日期范围必须包括开始日期及结束日期,请启用 总是使用范围 。

  6. 更新任何其他需要更新的 一般属性 或 日期时间栏位特定属性 ,然后按一下画面右上角的 关闭 。

Example

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

复选框( boolean )

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

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

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

Example

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

选择( selection )

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

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

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

  • 优先级别 :显示为星星图示,而非数值,可用作表示重要程度或满意度等。与选用 优先等级 字段的效果相同,但后者已预先定义了 4 种优先级别数值。

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

    小技巧

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

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

    小技巧

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

Example

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

优先级( selection )

优先级别 字段以三星评分格式显示,可用作表示重要程度或满意度。此字段类型是 选择字段 ,默认会选取 优先级别 小工具,并有 4 个预先定义的优先级别值。因此, 徽章 、 单选按钮 及 选单 小工具的效果,与 选单 章节所述相同。

小技巧

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

Example

优先级字段示例

文件( binary )

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

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

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

  • 电子签名 :用户可通过电子形式签署表单。与选择 电子签名 字段的效果相同。

Example

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

图片( binary )

图片 字段用于上传图片并在 表单视图 中显示。该字段类型是 文件 字段,默认情况下选择了 图片 小工具。因此,文件 、PDF 阅读工具 和 电子签名 小工具的效果,与 文件 中描述的效果相同。

小技巧

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

签署( binary )

电子签名 字段用于对表单进行电子签名。该字段类型是 文件字段 ,默认选择 电子签名 小工具。因此,文件 、图片 和 PDF 阅读工具 小工具有与 文件 中描述的相同效果。

小技巧

要让用户在绘制签名时使用 自动完成 选项,请从可用的 自动完成依据 字段(仅在模型上的 文字 、Many2One 和 相关字段 )中选择一个。签名将使用所选字段的数据自动生成。

关系字段

注解

非默认小组件(如可用时)以项目符号或小标题的形式呈现。

Many2One( many2one )

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

Example

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

显示many2one关系的图表

小技巧

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

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

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

  • 要在输入最少字符数后才触发对链接记录的搜索,请在 预先键入搜索 字段中输入所需的字符数。在数据集较大的情况下,这可以提高搜索相关性和性能。

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

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

One2Many( one2many )

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

Example

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

显示one2many关系的图表

注解

要使用 一对多 字段,两个模型必须已经用 多对一字段 连接。一对多关系不会独立存在,系统会进行反向搜寻,寻找目前已有的多对一关系。

多行( one2many )

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

小技巧

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

Example

多行字段示例

Many2Many( many2many )

多对多 (Many2Many)字段用于将另一模型中的多项记录,连结至目前模型中的多项记录。与 多对一 字段一样,多对多字段也可使用 禁止建立 、 禁止开启 及 范围 功能。

Example

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

显示many2many关系的图表

小技巧

要在输入最少字符数后才触发对链接记录的搜索,请在 预先键入搜索 字段中输入所需的字符数。在数据集较大的情况下,这可以提高搜索相关性和性能。

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

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

标签( many2many )

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

小技巧

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

Example

标记字段示例

向视图添加字段

使用 Studio 可以添加:

小技巧

向表单或列表视图添加新字段以将其保存到模型,使其作为现有字段可在同一模型的其他视图中使用。

添加新字段

小技巧

在添加新字段 之前 启用开发者模式,以便在配置过程中查看并编辑该字段的技术名称。

要添加新字段,请按以下步骤操作:

  1. 导航至相关表单或列表视图,然后点击右上角的 (切换 Studio)图标。或者,在任意应用打开的情况下,点击 (切换 Studio)图标,然后导航至相关表单或列表视图。

  2. 在 添加 选项卡中,从 新字段 区域拖动相关的 字段类型 并放置到所需位置。如果新字段是 关联字段,请在弹出窗口中选择相应的互关联字段、模型或相关字段。

  3. 在 属性 选项卡中,配置字段的 属性:

    • 输入将在 UI 上显示为字段名称的 标签 ;这也用于生成字段的默认技术名称。

    • 点击 标签 字段以外的任意位置,即可看到 技术名称 已更新为默认技术名称。

      注解

      • 新字段的 技术名称 可在配置过程中于 Studio 内编辑。在其他任何情况下,字段的技术名称只能通过 数据库的技术设置修改。

      • 使用 Studio 添加的新字段,其技术名称默认带有 x_studio_ 前缀。

    • 可选地,通过下拉菜单选择不同的 小组件 ;默认情况下会选中该 字段类型 的默认小组件。

    • 可选地,配置其他任何 字段属性。

  4. 点击右上角的 关闭 以关闭 Studio。

添加现有字段

要添加模型上已存在但当前视图中未显示的字段,请按以下步骤操作:

  1. 导航至相关视图,然后点击右上角的 (切换 Studio)图标。或者,在任意应用打开的情况下,点击 (切换 Studio)图标,然后导航至相关视图。

  2. 在 添加 选项卡的左侧面板中,点击 现有字段 ,即可显示模型中所有当前未在视图中的字段列表。

  3. 拖动相关字段并放置到所需位置。

  4. 在 属性 选项卡中,为当前视图中的该字段配置相关的 属性。

    注解

    如有需要,可以为不同视图独立配置各种属性,例如 标签、小组件、字段对某些用户组的可见性,以及字段是否为 隐藏、必填 或 只读。

  5. 点击右上角的 关闭 以关闭 Studio。

字段属性

大多数 字段类型和小组件 的组合都可以配置一系列 通用属性。根据所选的具体字段类型和小组件,还会有其他可用属性。例如,使用 日期时间 或 日期范围 小组件的 日期时间 字段具有各种可配置的 特定属性。

一般属性

  • 类:使用 Bootstrap 或 Odoo 中定义的其他自定义类,来定制字段在 UI 上的样式和显示方式。

  • 隐藏 :若用户无需在操作介面看到该字段,便可启用此属性。这有助简化用户操作介面,只会显示个别情况需要显示的字段。

  • 必填 :若用户必须先完成填写该字段才可继续操作,可启用此属性。

  • 仅读 :如果不应让用户修改该字段,可以启用此属性。

小技巧

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

  • 隐藏、必填 和 只读 属性可以点击 条件规则 并创建筛选器,仅对特定记录启用。

    Example

    在 联系人 模型的表单视图中,称谓 字段仅在选中 个人 时才会出现,因为该字段对 公司 联系人没有帮助。

  • 标签:这是字段在 UI 上的名称;标签用于生成字段的技术名称。

  • 帮助工具提示 :要解释字段的用途,请添加说明。将鼠标悬停在字段标签旁的问号上时,文本将显示在工具提示框内。

  • 技术名称:要在 Studio 中查看字段的技术名称(并在配置新字段时按需编辑),请 启用开发者模式。

    小技巧

    如果该字段需要更新但已无法通过 Studio 编辑,技术名称可以通过 数据库的技术设置修改。

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

  • 占位符:为举例说明字段的填写方式,添加固定的占位符文本。在输入值之前,该文本以浅灰色显示。

  • 动态占位符:提供所选字段的值,作为字段应如何填写的示例。在输入值之前,该文本以浅灰色显示。

  • 默认值 :若要在建立记录时,在字段中显示默认值,可加入此值。

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

  • 禁止向群组显示 :若想防止部份用户看见此字段,可选取一个或多个 “用户访问存取 群组 ”。

日期时间字段属性

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

  • 最小精度:确定必须在日期选择器中选择的最小日期单位。可选值为 Day (日)、Month (月)、Year (年)或 Decade (十年)。如未选择任何值,用户必须在日期选择器中选择具体日期。

  • 最大精度:确定可用于在日期选择器中导航的最大日期单位。可选值为 Day (日)、Month (月)、Year (年)或 Decade (十年)。如未选择任何值,用户可以按十年在日期选择器中导航。

  • 警告未来日期 :启用此属性后,若选取了未来日期,系统会显示警告图示。

  • 日期格式 :默认情况下,日期会显示为 Apr 2, 2025, 08:05 AM 。启用此属性后,可将日期改为以 4/2/2025 08:05:00 格式显示。数字的格式会按照目前语言所设定的格式。此模式会永远显示秒数。

  • 显示日期 :日期时间 字段默认会启用此属性。停用此属性后,只会显示时间。

  • 显示时间 :日期时间 字段默认会启用此属性。对于仅读字段,停用此属性会只显示日期。举例,如此设定可使列表视图画面较简洁。

  • 显示秒数 :日期时间 字段默认不会启用此属性。启用此属性后,会显示秒数。

  • 时间间隔 :此值决定时间选择器所显示的分钟间隔。例如:输入“15”可设定每隔 15 分钟有可选时间。预设值为 5 分钟。

  • 最早接受日期 :以 ISO 格式输入日期选择器中可选择的最早日期,即 年-月-日 。如果当前日期始终是最早接受的日期,则输入 今天 。在日期选择器上,最早接受日期之前的日期为灰色。

  • 最新接受日期 :输入日期选择器中可选择的 ISO 格式的最新日期,即 年-月-日 。如果当前日期总是最新日期,请输入 今天 。在日期选择器上,晚于最新接受日期的日期将显示为灰色。

修改字段属性

要修改字段的属性,请按以下步骤操作:

  1. 导航至相关视图,然后点击右上角的 (切换 Studio)图标。或者,在任意应用打开的情况下,点击 (切换 Studio)图标,然后导航至相关视图。

  2. 点击相关字段。

  3. 在 属性 选项卡中,对 字段属性 进行所需的任何更改。

    小技巧

    可以为不同视图独立配置各种属性,例如 标签、小组件、字段对某些用户组的可见性,以及字段是否为 隐藏、必填 或 只读。

  4. 点击右上角的 关闭 以关闭 Studio。

注解

字段的技术名称(在 启用开发者模式 后可于 Studio 中查看)无法在 Studio 中修改;此操作可通过 数据库的技术设置完成。

修改字段的技术名称

要修改字段的技术名称,请 启用开发者模式,然后按以下步骤操作:

  1. 在 Studio 中打开该字段,复制其技术名称。

  2. 从 Studio 中的 *所有* 视图移除该字段,然后点击 关闭 以关闭 Studio。

  3. 前往 设置应用 ‣ 技术 ‣ 字段。

  4. 将复制的技术名称粘贴到搜索栏中,然后打开相关字段。

  5. 按需修改 字段名称。

更新字段的技术名称后,即可从现有字段列表中将该字段 (重新)添加到相关视图。

重要

更新字段的技术名称时,请确保至少保留 x_ 前缀,这是任何自定义字段所必需的;对于使用 Studio 创建的字段,请保留 x_studio_ 前缀,以便更容易识别此类字段。

从视图移除字段

要从视图中移除字段,请按以下步骤操作:

  1. 导航至相关视图,然后点击右上角的 (切换 Studio)图标。或者,在任意应用打开的情况下,点击 (切换 Studio)图标,然后导航至相关视图。

  2. 点击相关字段。

  3. 滚动到 属性 选项卡底部,然后点击 从视图移除。

  4. 点击 确定 以确认操作。

小技巧

  • 如需稍后恢复,已移除的字段可以轻松 重新添加回视图。

  • 如果目的是简化视图,也可以 修改字段 并使其在相关视图中 隐藏。