• 星辉Odoo模型开发教程4-常用字段属性


    字段还有一些其它属性供我们定义其行为。以下是常用的属性,通常都作为关键字参数:
    ⚫ string 是字段的默认标签,在用户界面中使用。除 Selection 和关联字段外,它都是第一个位置参数,所以大多数情况下它用作关键字参数。如未传入,将由字段名自动生成。
    ⚫ default 设置字段默认值。可以是具体值(如 active 字段中的 default=True),或是可调用引用,有名函数或匿名函数均可。
    ⚫ help 提供 UI 中鼠标悬停字段向用户显示的提示文本。
    ⚫ readonly=True 会使用户界面中的字段默认不可编辑。在 API 层面并没有强制,模型方法中的代码仍然可以向其写入。仅针对用户界面设置
    ⚫ required=True 使得用户界面中字段默认必填。这通过在数据库层面为列添加 NOT NULL
    约束来实现。
    ⚫ index=True 为字段添加数据库索引,让搜索更快速,但同时也会部分降低写操作速度。
    ⚫ copy=False 让字段在使用 ORM copy()方法复制字段时忽略该字段。除 to-many 关联字
    段外,其它字段值默认会被复制。
    ⚫ groups 可限制字段仅对一些组可访问并可见。值为逗号分隔的安全组 XML ID 列表,如
    groups=’ base.group_user,base.group_system’。
    ⚫ states 传入依赖 state 字段值的 UI 属性的字典映射值。可用属性有 readonly, required
    和 invisible,例如 states={‘done’ :[(‘readonly’ ,True)]}。
    “ 小贴士: 注意 states 字段等价于视图中的 attrs 属性。同时注意视图也支持 states 属性,但用途不同,传入逗号分隔的状态列表来控制元素什么时候可见。 ”
    以下为字段属性关键字参数的使用示例:
    name = fields.Char(
    'Title',
    default=None,
    index=True,
    help='Book cover title',
    readonly=False,
    required=True,
    translate=False,
    )
    如前所述, default 属性可带有固定值,或引用函数来自动计算默认值。对于简单运算,可使用lambda 函数来避免过重的有名函数或方法的创建。以下是一个计算当前日期和时间默认值的常用示例:
    last_borrow_date = fields.Datetime(
    'Last Borrowed On',
    default=lambda self: fields.Datetime.now(),
    )
    默认值也可以是一个函数引用,或待定义函数名字符串:
    last_borrow_date = fields.Datetime(
    'Last Borrowed On',
    default='_default_last_borrow_date',
    )
    def _default_last_borrow_date(self):
    return fields.Datetime.now()
    当模块数据结构在不同版本中变更时以下两个属性非常有用:
    ⚫ deprecated=True 在字段被使用时记录一条 warning 日志
    ⚫ oldname=’ field’是在新版本中重命名字段时使用,可在升级模块时将老字段中的数据自
    动拷贝到新字段中

    更多教程:https://www.erpdaxue.cn/odoo/

  • 相关阅读:
    mmap和MappedByteBuffer
    Linux命令之TOP
    Linux命令之ss
    MySql Cluster
    HttpClient配置
    注释驱动的 Spring cache 缓存介绍
    Spring AOP 实现原理与 CGLIB 应用
    AspectJ本质剖析
    B树
    imagick-3.1.0RC2 安装错误
  • 原文地址:https://www.cnblogs.com/odoo14/p/14033566.html
Copyright © 2020-2023  润新知