Skip to Content

Odoo 中的字段类型说明

在 Odoo 中,字段类型可以分为以下几类

基础类型

  • char:字符型字段,用于存储较短的文本。可以设置 `size` 属性来定义字符串的最大长度。
  • text:文本型字段,用于存储较长的文本,没有长度限制。
  • boolean:布尔型字段,值为 `True` 或 `False`。
  • integer:整数型字段,用于存储整数值。
  • float:浮点型字段,用于存储小数值。可以通过 `digits` 属性定义整数部分和小数部分的位数。
  • date:日期型字段,用于存储日期。
  • datetime:日期时间型字段,用于存储日期和时间。
  • binary:二进制型字段,用于存储二进制数据,如文件。

复杂类型

  • selection:下拉框字段,允许用户从预定义的选项中选择值。例如:
    'state': fields.selection([('n', 'Unconfirmed'), ('c', 'Confirmed')], 'State', required=True)
  • function:函数型字段,字段值由函数计算得出,不存储在数据库中。定义格式如下:
    fields.function(fnct, arg=None, type='float', method=False, store=False)
    • `fnct`:计算字段值的函数。
    • `arg`:传递给函数的参数。
    • `type`:函数返回值的类型。
    • `method`:是否是对象的方法。
    • `store`:是否存储在数据库中。

关系类型

  • many2one:多对一关系,用于关联另一个模型的一个记录。例如:
    'partner_id': fields.many2one('res.partner', 'Partner')
  • one2many:一对多关系,用于关联多个记录。例如:
    'address_ids': fields.one2many('res.partner.address', 'partner_id', 'Addresses')
  • many2many:多对多关系,用于关联多个记录。例如:
    'category_ids': fields.many2many('res.partner.category', 'res_partner_category_rel', 'partner_id', 'category_id', 'Categories')

字段属性

  • required:字段是否必填。
  • readonly:字段是否只读。
  • default:字段的默认值。
  • ondelete:关联对象删除时的行为,如 `cascade` 表示级联删除,`set null` 表示设置为 `null`。

通过这些字段类型和属性,您可以在 Odoo 中灵活地定义模型和数据结构。

Odoo 中的字段类型说明
6776, Administrator December 22, 2023
Tags
Archive