model字段及参数

示例

from odoo import models, fields
class LibraryBook(models.Model):
    # ...
    short_name = fields.Char('Short Title')
    notes = fields.Text('Internal Notes')
    state = fields.Selection(
        [('draft', 'Not Available'),
        ('available', 'Available'),
        ('lost', 'Lost')],
        'State')
    description = fields.Html('Description')
    cover = fields.Binary('Book Cover')
    out_of_print = fields.Boolean('Out of Print?')
    date_release = fields.Date('Release Date')
    date_updated = fields.Datetime('Last Updated')
    pages = fields.Integer('Number of Pages')
    reader_rating = fields.Float(
        'Reader Average Rating',
        dig

字段介绍

  • Char
    字符串
  • Integer
    整数
  • Float
    浮点数, 精度可由位数和⼩数位数对来定义
  • Text
    文本
  • Selection
    选择列表(下拉框)所选择的值存储于数据库中,可以是字符串或整数。
    注意Odoo内部将0解释为未设置,不会显示存储值为0的描述
  • Html
    类似于text字段,但通常⽤于以HTML格式存储的富⽂本
  • Binary
    ⼆进制⽂件,如图像或⽂档。
  • Boolean
    布尔值
  • Date
    日期值, ORM中以Python datetime对象的形式对其进⾏处理
  • Monetary
    可存储某个币种的数量值

属性示例

short_name = fields.Char('Short Title',translate=True, index=True)
state = fields.Selection(
     [('draft', 'Not Available'),
     ('available', 'Available'),
     ('lost', 'Lost')],
     'State', default="draft")
description = fields.Html('Description', sanitize=True, strip_style=False)
pages = fields.Integer('Number of Pages',
    groups='base.group_user',
    states={'lost': [('readonly', True)]},
    help='Total book page count', company_dependent=False)

属性介绍

  • string
    字段的标题, 在UI视图标签中使⽤,如未设置,会通过⾸字⺟⼤写及将空格替换为下划线来从字段名获取标签。
  • translate
    设置为True时, 表示字段可翻译
  • default
    计算默认值的函数, ,例如default=_compute_default, "_compute_default"为在字段定义前定义的方法
  • help
    在UI解码提示工具中显示的解释性文本
  • groups
    它是包含安全组的XML ID逗号分隔列表的⼀个字符串。
  • states
    允许⽤户界⾯依据state字段的值来动态设置readonly, required和invisible的
    值。因此,它要求存在⼀个state字段并在表单视图中使⽤(即便是隐藏的)。state属性
    的名称是在Odoo硬编码且⽆法修改的。
  • copy
    在复制记录时是否拷⻉字段值。对于⾮关系型字段和Many2one它的默认值
    是True、对One2many和计算字段它的值是False。
  • index
    设置为True时, 为该字段创建数据库索引
  • readonly
    只读
  • required
    不可为空
  • sanitize
    标记用于HTML字段并去除包含不安全标签的内容
    使⽤它会对输⼊进⾏全局清理。
    如果需要更精细的控制,可以使⽤⼀些关键字,仅在启⽤sanitize时⽣效:
  • sanitize_tags=True删除⽩名单列表以外的标签(默认项)
  • sanitize_attributes=True删除⽩名单列表以外的标签属性
  • sanitize_style=True删除⽩名单列表以外的样式属性
  • strip_style=True删除所有样式元素
  • strip_class=True删除所有class属性
  • company_dependent
    让该字段根据公司存储不同值
原文地址:https://www.cnblogs.com/qq752059037/p/13921354.html