Odoo 属性字段使用指南:添加、配置与跨应用共享
属性字段
属性字段(或称为属性)通过向 form <studio/views/general/form> 视图添加各种 字段类型 <property_field/add>,实现视图的自定义。这些字段通过存储值来管理信息。
:::: admonition 属性 vs. 常规字段
属性表现为伪字段;它们的行为类似常规字段,但不会作为数据库列保存。属性依赖于已定义的 父记录 <property-fields/properties-apps>。
::: example 向 任务 添加属性后,会在同一项目的 所有任务 中插入该字段,而其他项目的任务不受影响。 ::: ::::
添加属性字段 {#property_field/add}
要在 form view <studio/views/general/form> 中添加第一个属性字段,点击 fa-cog(操作)图标,然后选择 fa-cogs 编辑属性。
在弹出框中,输入属性的 标签,选择 字段类型,随后根据所选类型配置字段:
+———————————————————————————+———————————————————————+—————————————————-+
| 字段类型 | 用途 | 选项 |
+=================================================================================+=====================================================================+====================================================+
| Text <studio/fields/simple-fields-text> | 单行短文本 | 如需默认值,可填写 Default Value{.interpreted-text |
| | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Multiline Text <studio/fields/simple-fields-multiline-text>{.interpreted-text| 多行长文本 | 如需默认值,可填写 Default Value{.interpreted-text |
| role=“ref”} | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| HTML <studio/fields/simple-fields-html> | HTML 内容字段 | 如需默认值,可填写 Default Value{.interpreted-text |
| | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Checkbox <studio/fields/simple-fields-checkbox> | 勾选或未勾选状态 | 选择 Default State{.interpreted-text role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Integer <studio/fields/simple-fields-integer> | 整数 | 如需默认值,可填写 Default Value{.interpreted-text |
| |(正数、负数或零,且不含小数) | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Decimal <studio/fields/simple-fields-decimal> | 小数 | 如需默认值,可填写 Default Value{.interpreted-text |
| |(正数、负数或零,且含小数) | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Monetary <studio/fields/simple-fields-monetary> | 货币(成本)选择 | 如需默认值,可填写 Default Value{.interpreted-text |
| | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Date <studio/fields/simple-fields-date> | 日历中选择日期 | 如需默认值,可选择 Default Value{.interpreted-text |
| | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Date & Time <studio/fields/simple-fields-date-time>{.interpreted-text | 在日历中选择日期并在时钟上选择时间 | 如需默认值,可选择 Default Value{.interpreted-text |
| role=“ref”} | | role=“guilabel”}。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Selection <studio/fields/simple-fields-selection>{.interpreted-text | 从预定义值组中选择一个值 | 点击 fa-plus Add a Value,输入 Option Name{.interpreted-text |
| role=“ref”} | | role=“guilabel”} 添加可选项。 |
| | | 如需设为默认,点击 fa-star-o(Select Default)按钮。 |
| | | 可拖拽 oi-draggable(drag handle)图标进行排序。 |
| | | 删除选项点击 fa-trash-o(Remove Property)按钮。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Tags <studio/fields/relational-fields-tags> | 以标签形式选择多个值 | 输入标签名称后按 Enter 保存。 |
| | | 点击标签可更改颜色。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Many2one <studio/fields/relational-fields-many2one>{.interpreted-text | 从其他模型中选择单条记录 | 输入模型名称(Model),如有需要可配置 Domain<search/custom-filters> 过滤记录。 |
| role=“ref”} | | 如需默认值,可选择 Default Value。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Many2many <studio/fields/relational-fields-many2many>{.interpreted-text | 从其他模型中选择多条记录 | 输入模型名称(Model),如有需要可配置 Domain<search/custom-filters> 过滤记录。 |
| role=“ref”} | | 如需默认值,可选择 Default Value。 |
+———————————————————————————+———————————————————————+—————————————————-+
| Separator | 在折叠标签下分组多个属性 | — |
+———————————————————————————+———————————————————————+—————————————————-+
:::: note ::: title 注意 :::
- 在字段值后面输入
Suffix可添加上下文说明。例如,要表示每公里费用,可使用Monetary字段并命名为 Cost,在Suffix中填写 per km,最终显示为 Cost [值] per km。 - 启用
Display in Cards可选择在看板、列表或日历视图的卡片中显示该属性。 - 启用
AI可为属性添加AI fields <ai/add-a-new-field/properties>。编写Prompt或输入 [/field] 插入动态值。 - 要添加更多属性,点击表单底部的
fa-plusAdd a Property。
::::
:::: tip ::: title 提示 :::
- 编辑已有属性时,将光标悬停在属性上:
- 点击
fa-pencil(编辑)按钮打开弹窗并修改属性。弹窗中使用fa-chevron-up(向上)或fa-chevron-down(向下)图标上下移动属性位置。 - 点击
fa-trash(删除),再确认 Delete,即可永久删除。 - 使用
oi-draggable(drag handle)图标拖拽属性以重新排序或重新分组。 - 点击弹窗外部即可保存所做更改。
::::
- 点击
跨应用的属性 {#property-fields/properties-apps}
属性字段可以在多个模型的 form view <studio/views/general/form> 中定义。设置后,该属性会被所有关联同一 父记录 的记录共享。
+———————————–+——————————————————————————————————–+———————————————————————————————+ | 应用 | 模型 | 父记录 | +===================================+========================================================================================================+=============================================================================================+ |
Accounting{.interpreted-text |资产/收入确认 <create-assets-entry>|资产模型 <assets/asset-model>| | role=“guilabel”} | | | | |贷款 </applications/finance/accounting/bank/loans>|日记账 <cheat_sheet/journals>| +———————————–+——————————————————————————————————–+———————————————————————————————+ |Appraisals{.interpreted-text |员工评估 <appraisals/manual>|部门 <employee/create-departments>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Approvals{.interpreted-text | 审批请求 | 类别 | | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |CRM{.interpreted-text |线索/商机 </applications/sales/crm/acquire_leads/email_manual>|销售团队 <crm/sales-team-dashboard>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Employees{.interpreted-text |员工 <employees/general-info>|公司 <employees/general-info>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Events{.interpreted-text |活动报名 </applications/marketing/events/registration_desk>|活动 <events/new-event>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Fleet{.interpreted-text |车辆 </applications/hr/fleet/new_vehicle>|车辆型号 <fleet/add-model>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Frontdesk{.interpreted-text |前台访客 <frontdesk/list>|站点 <frontdesk/stations>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Helpdesk{.interpreted-text |工单 <helpdesk/follow>|帮助台团队 <helpdesk/create-team>| | role=“guilabel”} | | | +———————————–+——————————————————————————————————–+———————————————————————————————+ |Inventory{.interpreted-text |批次/序列号 <inventory/product_management/edit-lot>|产品变体 <product-variants/add-product-variants>| | role=“guilabel”} | | | | |转移|作业类型 <inventory/product_management/operation-type-setting>{.interpreted-text | | | </applications/inventory_and_mrp/inventory/shipping_receiving/picking_methods/wave>{.interpreted-text | role="ref"} | | | role="doc"} | | | | |作业类型 <inventory/product_management/operation-type-setting>{.interpreted-text | | |批量转移 <inventory/misc/batch_picking>| role="ref"} | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Knowledge{.interpreted-text |知识文章 <knowledge/articles_editing/create-article>|父文章 <knowledge/articles_editing/create-article>| | role="guilabel"} | | | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Maintenance{.interpreted-text |维修设备 <maintenance/equipment_management/add_new_equipment>{.interpreted-text |设备类别 <maintenance/equipment_management/add_new_equipment>{.interpreted-text | | role="guilabel"} | role="ref"} | role="ref"} | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Meeting Rooms{.interpreted-text | 房间 | 办公室 | | role="guilabel"} | | | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Payroll{.interpreted-text |员工 <employees/general-info>|公司 <employees/general-info>| | role="guilabel"} | | | | |工资单 <payroll/new-payslip>|结构 <payroll/structure-types>| +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Planning{.interpreted-text |班次 <planning/roles>|角色 <planning/roles>| | role="guilabel"} | | | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Project{.interpreted-text |任务 <task_creation/task-configuration>|项目 <project_management/configuration>| | role="guilabel"} / | | | |Field Service{.interpreted-text | | | | role="guilabel"} | | | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Recruitment{.interpreted-text |申请人 <recruitment/quick-add-applicant>|职位 <job-position/create-job-position>| | role="guilabel"} | | | | |工作岗位 <recruitment/new_job_position/edit>|公司 <general/companies/company>| | | | | | |候选人|公司 <general/companies/company>| +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Repairs{.interpreted-text |维修单 <repairs/repair_orders/repair>|公司 <general/companies/company>| | role="guilabel"} | | | +-----------------------------------+--------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ |Sales`{.interpreted-text | 产品 | 类别 | | role=“guilabel”} / etc. | | | +———————————–+——————————————————————————————————–+———————————————————————————————+
:::: note ::: title 注意 :::
以下模型不依赖任何 父记录,适用于所有记录:
Contact Form <../../../applications/essentials/contacts>(联系人应用)Mailing List Contacts <marketing/mailing-list/contacts>(邮件营销应用)
::::