OpenERP fields详解与应用

需积分: 14 3 下载量 92 浏览量 更新于2024-09-12 收藏 307KB PDF 举报
"本资源提供了关于OpenERP(现称Odoo)中的fields模块的详细参考,涵盖了各种字段类型及其参数设置,旨在帮助用户理解和使用这些字段进行数据模型的设计。" 在OpenERP(Odoo)中,fields模块是构建数据库模型的关键部分,它定义了模型中的各个字段及其属性。以下是对描述中提到的字段类型的详细解释: 一、基本类型 1. 简单、基本类型: - (boolean):布尔类型,用于表示真或假。 - (Integer):整数类型,存储整数值。 - (string):字符串类型,用于存储文本数据。 - (float):浮点数类型,用于存储带有小数的数值。 - (char):与string类似,但通常用于较短的文本。 - (text):文本类型,用于存储较长的文本。 - (data):日期类型,仅存储日期,不包含时间。 - (datetime):日期和时间类型,存储日期和时间。 - (binary):二进制类型,用于存储图像、文件等二进制数据。 - (selection):选择类型,允许用户从预定义的选项中选择。 二、关系类型: 1) one2one (已废弃): - 表示一对一的关系,一个记录对应另一个记录,通常用于扩展模型。 2) many2one: - 表示多对一的关系,多个记录可以关联到一个记录。例如: ```python fields.many2one('other.object.name', 'FieldName', optionalparameters) ``` - 可选参数包括: - `ondelete`:当资源被删除时的行为,如“cascade”(级联删除)、“setnull”(设为空)、“restrict”(禁止删除)、“no action”(不做任何操作)、“setdefault”(设置默认值)。 - `required`:是否为必填字段,默认为False。 - `readonly`:是否只读,默认为False。 - `select`:是否创建外键字段上的索引,默认为False。 3) one2many: - 表示一对多的关系,一个记录可以关联多个记录。例如: ```python fields.one2many('other.object.name', 'Fieldrelationid', 'Fieldname', optionalparameter) ``` - 可选参数包括: - `invisible`:字段是否可见,默认为False。 - `states`:根据记录状态控制字段的可见性。 - `readonly`:是否只读,默认为False。 4) many2many: - 表示多对多的关系,多个记录可以关联多个记录。例如: ```python fields.many2many('other.object.name', 'relationobject', 'actual.object.id', 'other.object.id', 'FieldName') ``` - 这些参数用于定义连接表的字段: - `other.object.name`:其他关联对象的模型名。 - `relationobject`:创建连接的中间表的模型名。 - `actual.object.id` 和 `other.object.id`:在中间表中用于连接两个模型的字段名。 这些字段类型和参数允许开发者灵活地构建OpenERP/Odoo中的业务模型,以满足各种数据管理需求。通过理解并熟练应用这些字段,可以创建出功能丰富的应用程序,有效管理企业的数据和流程。