字段和小组件¶
字段构成数据库的模型。如果将模型描绘为表格或电子表格,则字段就是记录中存储数据的列(或行)。字段还定义其存储的数据的类型。数据在:abbr:`UI(用户界面)`上的显示方式和格式由小组件定义。
从技术角度看,Odoo有15种字段类型。您也可以在Studio的20种字段中进行选择,因为某些字段类型可以多次使用不同的默认小组件。
小技巧
:guilable:`新字段`只能添加至:ref:`studio/views/general/form`和:ref:`studio/views/multiple-records/list`视图。其他视图只能添加:guilabel:`现有字段` (fields already on the model)。
简单字段¶
简单字段包含基本值,如文本、数字、文件等。
注解
若有非预设的小工具可用,会在下方以点列符号或子标题的形式交代。
文件(char)¶
:guilable:`文本`字段用于包含任何字符的短文本。填写该字段时显示一行文本。
:guilable:`标记`:显示圈内值,类似于标记。该值不能在用户界面上编辑,但可以设置默认值。
复制到剪贴板:用户可以点击按钮复制值。
电子邮件:该值变为可点击的*电子邮件*链接。
图片:使用URL显示图片。该值不能手动编辑,但可以设置默认值。
注解
此方式与直接选择 图片字段 不同。若使用附有 图片 小工具的 文字 字段,图片不会储存在 Odoo 中。举例,如果想节省储存空间,这方式会很有用。
电话:该值变为可点击的*电话*链接。
小技巧
勾选:guilabel:
启用短信,添加直接从字段旁的Odoo发送短信的选项。URL:该值变为可点击的URL。
Example
多行文本(text)¶
:guilable:`多行文本`字段用于包含任何类型字符的较长文本。填写该字段时,用户界面上显示两行文本。
复制到剪贴板:用户可以点击按钮复制值。
Example
整数(integer)¶
:guilable:`整数`字段用于所有整数(:dfn:`positive, negative, or zero, without a decimal`)。
:guilable:`百分比饼图`:显示百分比饼图值,通常为计算得出的值。该值无法在用户界面上编辑,但可以设置默认值。
进度条:显示百分比条旁的值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。
处理:显示拖动手柄图标,用于在:ref:`List view <studio/views/multiple-records/list>`中手动排序记录。
Example
小数(float)¶
小数`字段用于所有小数(:dfn:`positive, negative, or zero, with a decimal)。
注解
小数在用户界面上显示为两位小数,保存在数据库中时精度更高。
货币金额:与使用 货币金额 字段类似。建议使用后者,因为它提供较多功能。
百分比:在数值后显示百分比符号。
:guilable:`百分比饼图`:显示百分比饼图值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。
进度条:显示百分比条旁的值,通常为计算得出的值。该字段无法手动编辑,但可以设置默认值。
时间:数值须为*小时:分钟*格式,最大分钟值为59。
Example
货币(monetary)¶
:guilabel:`货币`字段用于所有货币值。
注解
首次添加:guilable:`货币`字段时,如果模型上不存在:guilabel:`币种`字段,则会提示添加:gullable:`币种`字段。Odoo为您添加:guilable:`币种`字段。添加完成后,应再次添加:guilable:`货币`字段。
Example
超文本标记语言(html)¶
:guilabel:`超文本标记语言`字段用于添加可使用Odoo HTML编辑器编辑的文本。
多行文本:禁用Odoo HTML编辑器,以便允许编辑原超文本标记语言。
Example
日期(date)¶
:guilabel:`日期`字段用于从日历选择日期。
剩余天数:从目前日期起计,距离选取的日期还剩下多少天,例如: 剩余 5 天 。此栏位应设为 仅读。
Example
日期和时间(datetime)¶
:guilabel:`日期和时间`字段用于从日历选择日期,从钟表选择时间。如果未设置时间,则自动采用用户的当前时间。
日期范围(daterange)¶
日期范围 小工具适用于显示包括开始日期及结束日期的时间段,以一行显示全部资料。日期范围可将开始及结束日期设为必填(例如:表示多天活动的日期),也可将开始或结束日期设为可选填(例如:用于上门介入工作或项目任务)。
加入日期范围时,需要有两个字段:一个是附有 日期范围 小工具的 日期时间 字段,另一个是设为开始日期 或 结束日期的字段。底层的参考字段可以是现有的 日期 或 :guilabel:`日期时间`字段,也可以是专门为此用途而建立的字段。
要加入日期范围:
确定一个现有的 日期 或 日期时间 字段,用作底层的开始或结束日期参考字段,或新增一个字段。如果日期范围是:
必须填写开始及结束日期,此字段可以是开始日期或结束日期,选择两者的结果相同。
允许选填开始日期或结束日期,此字段便会分别是开始日期或结束日期。
小技巧
为避免重复显示相同资讯,你可将底层的开始/结束日期字段,设定为 不显示,或点击 从视图中移除,将该日期从视图画面中移除,使之无法看见。
加入一个 日期时间 字段,并将 小工具 栏位设定为 日期范围。
输入适当的 标签。
根据需要,在 开始日期字段 或 结束日期字段 下拉式选单中,选择相应的底层开始/结束日期字段。
若日期范围必须包括开始日期及结束日期,请启用 总是使用范围。
更新任何其他需要更新的 一般属性 或 日期时间栏位特定属性,然后按一下画面右上角的 关闭。
Example
剩余天数(remaining_days)¶
剩余天数 小工具显示从目前的日期及时间起计,距离选取的日期还剩下多少天,例如:剩余 5 天 。此栏位应设为 仅读。
复选框(boolean)¶
:guilabel:`复选框`字段用于值只能为是或否时,选中或取消选中复选框,以进行指示。
按钮:显示为单选按钮。该小组件可在不切换至编辑模式的情况下工作。
切换:显示为切换按钮。该小组件可在不切换至编辑模式的情况下工作。
Example
选择(selection)¶
:guilabel:`选择`字段用于用户从一组预定义值中选择一个值。
:guilable:`标记`:显示圈内值,类似于标记。该值不能在用户界面上编辑,但可以设置默认值。
多个标记:在水平排列的矩形内同时显示所有可选值。
优先级别:显示为星星图示,而非数值,可用作表示重要程度或满意度等。与选用 优先等级 字段的效果相同,但后者已预先定义了 4 种优先级别数值。
单选: 同时显示所有可选值的单选按钮。
小技巧
默认情况下,单选按钮是以垂直方式排列。您可启用 水平显示 选项,以切换显示方式。
状态栏:以箭头进度条同时显示所有可选值。
小技巧
默认情况下,状态栏上的值是可选取。禁用 可点击,可防止在用户界面上编辑值。
Example
优先级(selection)¶
优先级别 字段以三星评分格式显示,可用作表示重要程度或满意度。此字段类型是 选择字段,默认会选取 优先级别 小工具,并有 4 个预先定义的优先级别值。因此, 徽章 、 单选按钮 及 选单 小工具的效果,与 选单 章节所述相同。
小技巧
要通过添加或删除值来更改可用星的数量,点击:guilable:编辑值。请注意,第一个值等于0星(即未作选择),因此,三星评级系统具有4个值。
Example
文件(binary)¶
:guilabel:`文件`字段用于上传任何类型的文件,或 签署表单(:guilabel:`签署`小组件)。
图片:用户可以上传图像文件,然后将其显示在 表单视图 中。这与使用 :ref:`图片 <studio/fields/simple-fields-image>`字段的效果相同。
PDF查看器:用户可以上传PDF文件,上传后,可以在:ref:`Form view <studio/views/general/form>`中查看该文件。
电子签名:用户可通过电子形式签署表单。与选择 电子签名 字段的效果相同。
Example
图片(binary)¶
图片`字段用于上传图片并在 :ref:`表单视图 <studio/views/general/form>`中显示。该字段类型是 :ref:`文件 <studio/fields/simple-fields-file>`字段,默认情况下选择了 :guilabel:`图片 小工具。因此,文件、PDF 阅读工具 和 电子签名 小工具的效果,与 文件 中描述的效果相同。
小技巧
要更改上传图片的显示大小,在:guilable:尺寸`选项下选择:guilabel:`小、:guilale:`中`或:guilalb:`大`。
签署(binary)¶
电子签名 字段用于对表单进行电子签名。该字段类型是 文件字段,默认选择 电子签名`小工具。因此,:guilabel:`文件、图片 和 PDF 阅读工具 小工具有与 文件 中描述的相同效果。
关系字段¶
关系字段用于链接并显示另一模型中记录的数据。
注解
非默认小组件(如可用)显示为以下项目符号。
Many2One(many2one)¶
:guilabel:`Many2One`字段用于将另一记录(来自另一模型)链接至正在编辑的记录。来自另一模型的记录名称将显示在正在编辑的记录中。
小技巧
要防止用户在链接的模型中创建新记录,勾选:guilable:
禁用创建。要防止用户在弹窗中打开记录,勾选:guilable:
禁用打开。要帮助用户只选择正确的记录,点击:guilable:
域,创建筛选器。
标记:显示圈内值,类似于标记。该值不能在用户界面上编辑。
单选: 同时显示所有可选值的单选按钮。
One2Many(one2many)¶
:guilabel:`One2Many`字段用于显示当前模型中的记录和另一模型中的多个记录间的现有关系。
注解
要使用 一对多 字段,两个模型必须已经用 多对一字段 连接。一对多关系不会独立存在,系统会进行反向搜寻,寻找目前已有的多对一关系。
多行(one2many)¶
:guilabel:`多行`字段用于创建有多行和多列的表格(例如,销售订单中的多个产品行)。
小技巧
要修改列,点击:guilable:多行`字段,然后点击:gullable:`编辑列表视图。要编辑用户点击:guilable:Add a line`时弹出的表单,改为点击:gullable:`编辑表单视图。
Example
Many2Many(many2many)¶
多对多 (Many2Many)字段用于将另一模型中的多项记录,连结至目前模型中的多项记录。与 多对一 字段一样,多对多字段也可使用 禁止建立 、 禁止开启 及 范围 功能。
Example
在*任务*模型中,:guilable:`受托人`字段为指向*联系人*模型的:guilabel:`Many2Many`字段,允许向单个用户分配**多个**任务,以及向**多个**用户分配给同一任务。
多个复选框:用户可以通过多个复选框选择多个值。
标签:用户可选取多个以圆角形状显示的值,这些值也称为“标签”。这与选用 标签 字段的效果相同。
属性¶
一般属性¶
隐藏:若用户无需在操作介面看到该字段,便可启用此属性。这有助简化用户操作介面,只会显示个别情况需要显示的字段。
隐藏 属性在 Studio 内也适用。若要在 Studio 模式下查看隐藏字段,请点击视图画面的 视图 分页,然后启用 显示隐藏元素。
必填:若用户必须先完成填写该字段才可继续操作,可启用此属性。
仅读:如果不应让用户修改该字段,可以启用此属性。
注解
您可以点击 条件规则 来建立筛选器,选择只为个别记录启用 隐藏 、 必填 及 仅读 属性。
标签:字段在用户界面上的名称。这不是 PostgreSQL 数据库中使用的名称。要查看和更改后者,请激活 开发者模式 并编辑 技术名称。
帮助工具提示:要解释字段的用途,请添加说明。将鼠标悬停在字段标签旁的问号上时,文本将显示在工具提示框内。
小组件:要更改某字段的默认外观或功能,选择可用小组件中的一个。
占位符:为举例说明字段的填写方式,可添加占位符文本。在输入值之前,文本显示为浅灰色。
默认值:若要在建立记录时,在字段中显示默认值,可加入此值。
允许向群组显示:要限制哪些用户可以查看字段,请选择一个或多个用户访问 群组。
禁止向群组显示:若想防止部份用户看见此字段,可选取一个或多个 “用户访问存取 群组”。
日期时间字段属性¶
设定了 日期时间 或 日期范围 小工具的 日期时间 栏位,可使用以下特别属性:
时间间隔:此值决定时间选择器所显示的分钟间隔。例如:输入“15”可设定每隔 15 分钟有可选时间。预设值为 5 分钟。
警告未来日期:启用此属性后,若选取了未来日期,系统会显示警告图示。
显示时间:日期时间 字段默认会启用此属性。对于仅读字段,停用此属性会只显示日期。举例,如此设定可使列表视图画面较简洁。
最早接受日期:以 ISO 格式输入日期选择器中可选择的最早日期,即
年-月-日。如果当前日期始终是最早接受的日期,则输入今天。在日期选择器上,最早接受日期之前的日期为灰色。最新接受日期:输入日期选择器中可选择的 ISO 格式的最新日期,即
年-月-日。如果当前日期总是最新日期,请输入今天。在日期选择器上,晚于最新接受日期的日期将显示为灰色。