Odoo ORM API(五)- Fields

Basic fields 根底性运动场

class (string=None, **kwargs)
这些运动场扮演符还克制该运动场的规定。,同时,这也这是类似于的。。 record 每个运动场都有相当多的政权把持。。当规定运动场时,可以写作以下属性。:

Name 扮演
Parameters: string 在用户界面中上显示的)技术援助委,条件不设置,用声母资本的 field name
help 在用户界面中,当鼠标在左右运动场上提议时,爸准时的框,满意的的是帮忙填写的满意的的
只读(BOOL) 左右运动场可能性的选择只读的,默许是 False
用品(BOOL) 左右运动场可能性的选择必填的,默许是 False
援用(BOOL) 该运动场可能性的选择设置在记载表中援用,默许是 False
default 设置为动态值,或将其设置为作用,此作用获得记载集作为参量。,并隐现人家值。 如: default=lambda self: self.env.user.name
states 人家字典,KEY是个人特性运动场中一切的值的值。,只读可购得的值, “required”, “invisible”。
在意: 运用此运动场,必然要在左右模子中设置state 运动场,这可以由客户正确处置。。左右设置,通常在东西阶段,容许用户检查确切的的教训
states={‘draft’:[(‘readonly’, 假), ‘sent’:[(‘readonly’: 假)}
groups 以英文逗号联系的字母串,使此运动场仅属于确切的的组。
如: groups=””
抄录(BOOL) 当在客户端抄录记载时,可能性的选择抄录此运动场的值。普通运动场是真的, One2many 而且 computed field 和 related field 和 property field 都是 False
oldname(字母串) 运动场术语,运用ORM查找确切的的运动场来重复强调档案。

Computed fields

用于设置运动场的值是直接的计算的。,而缺陷偏偏从档案库中读取教训。这种典型的运动场所需的属性列举如下。,条件你想规定人家计算 field,只需设置 compute 特性可以。

Name 扮演
Parameters: compute 办法的术语,此办法用于计算运动场的值。
inverse 办法的术语,设置此运动场后,为确切的运动场设置它们的值。可选的
search 办法的术语,规定此运动场的搜索行动。 可选的
贮存器(BOOL) 档案库中可能性的选择在此运动场。构筑计算后,默许是False
compute_sudo(bool) 左右运动场召集在管理员的容许下计算吗?,过境 rights, 默许False

The methods given for compute, inverse and search are model 办法。 Their signature is shown in the following example:

upper = (计算''_compute_upper'',
                    inverse=''_inverse_upper'',
                    search=''_search_upper'')

(姓名)def_compute_upper(本人):for rec in self:
        rec.upper = rec.name.upper() if rec.name elseFalsedef_inverse_upper(本人):for rec in self:
        rec.name = rec.upper.lower() if rec.upper elseFalsedef_search_upper(本人), operator, 有价值):if operator == 爱人:
        operator = 伊利克return [(名字, operator, 有价值)]

左右 compute method 它将对该模子击中要害每个记载停止调整。。openerp.() 修饰器必然要运用计算功用。 办法论,意思是这些信任相干,以确保当不求再进运动场的值找头时。,对该如行星或恒星有价值的重行计算。沉重的计算是不自觉动作的。,确保缓存与档案库的相干性。在意:一种办法依从的多个如行星或恒星。您只需为这些CA的计算属性设置同上的计算那就够了。 method name 那就够了,这些办法只对这些运动场转让一次。。
默许情境下,computed 档案库中不在运动场,它们被计算为 on-the-fly。可以经过添加属性来添加属性。 store=True 在档案库中引起此运动场。优点是它可以在左右如行星或恒星结束。 search,它在档案库层中停止搜索。 抛光。优势是当左右运动场召集的重行计算是,将重复强调 database
inverse method,不下于他的名字类似于。,停止 compute 办法的反运算。当你是对的 computed 在场中设置必然值后,左右计算是召集的。 field的 由于运动场停止相当多的更改,使得 compute method 对 信任运动场 计算后,你来的值被计算摆脱。 场的值是同上的。在意:条件不设置inverse method,因而左右计算 运动场是 readonly = True 的
search method 当有一对场子时 search时,破解搜索根底 行动,回归新如行星或恒星,再停止search。必然要是 field operator value

related 场的值是人家 相干域击中要害域 names 用 dot 节字母串,自然,根本事实人家如行星或恒星 名字可能性缺陷一种愿意的典型。条件 cp_name = (互插)。这涉及 该运动场的有些人属性将不自觉动作从 源 field 中直接的抄录: string, help, readonly, 召集的的(这必然要是一切的运动场) 需要量姓名,这涉及 运动场将设置为需要量=真), groups, digits, size, translate, sanitize, selection, comodel_name, domain, context。
默许的,档案库中不在此运动场。。只因可以经过添加添加贮存器=真,把它放在档案库里。就像计算 field 类似于, related field 当他所信任的如行星或恒星的有价值在修正时,他会不自觉动作重行计算。

Company-dependent fields

那是先前 ‘property’ fields,这些运动场的值信任于 company,就是说,用户属于变化多的的公司到人家记载如行星或恒星,来的值是变化多的的。
company_dependent 左右运动场可能性的选择是company dependent (乔治英国数学家和逻辑学家)

Incremental definition

A field is defined as class attribute on a model 差距。 条件左右模子是恢宏的,也可以经过重行规定人家名字同上的field用以发出源model的field的规定。在这中情境下,该运动场的属性将从运动场的属性抄录。,并运用您本人的新属性停止重复强调。
譬如:秒课只给state 该运动场已被添加到人家运动场中。 help

classFirst():
    _name = 
    state = ([...], required=True)

classSecond():
    _inherit = 
    state = (帮忙"Blah blah blah")

class openerp.(string=None, **kwargs)
Bases :
根本字母串 field,巨大限度局限可以设置,它通常在客户端上以一列纵队表现。

Name Description
Parameters: 级数(int) 左右如行星或恒星的最大审视
translate 大约左右运动场的值就可以翻译机了,运用translate=True 翻译机左右运动场的值,你也可以让他变成人家可以电话联络的人。, transalte(callback, 有价值),翻译机有价值的运用 回调(术语)信任获取有价值的翻译机

class openerp.fields.Boolean(string=None, **kwargs)
Bases:

class openerp.fields.Integer(string=None, **kwargs)
Bases:

class openerp.fields.Float(string=None, digits=None, **kwargs)
Bases:
浮点十进法的精确度可以经过设置数字属性来实施。
digits 元组(一共), 十进法),或作用 收到人家 database 游标作为参量,隐现一 (总), 十进法)

class openerp.fields.Text(string=None, **kwargs)
Bases :
它与Char特有的证实。,但缺席上涂料属性,通常作为多行显示 Text 盒子。
translate 左右和 Char 这是类似于的。

class openerp.(selection=None, string=None, **kwargs)
Bases:

Name Description
Parameters: selection 做左右如行星或恒星的可能性有价值,还是设置 时期(有价值), 字母串列表, 还是是人家 model method, 或许 model name。
selection_add 条件左右运动场是 发出词,可以经过设置此属性来设置此属性,向源运动场添加有些人选择。必然要列出 of 对(值), 字母串)

selection 召集设置属性,除非左右运动场是互插的 field 或许是 field extensions。

class openerp.fields.Html(string=None, **kwargs)
Bases :

class openerp.fields.Date(string=None, **kwargs)
Bases :

  • static context_today(record, timestap=None)
    隐现客户的时区对应时期,它通常用于计算默许值。 。timestap(datetime) 可选的,掉换流行的时期,必然要是日期时期,日期不起作用,此办法隐现 人家 string

  • static from_string(有价值)
    采用一 ORM value 回到 date value

  • static to_string(有价值)
    采用一date value 替换成人家 满意的ORM需要量的体式 串后

  • statci 今日(*ARGS)
    隐现ORM 所需体式的流行的日期,它通常用于计算默许值。

class openerp.fields.Datetime(string=None, **kwargs)
Bases :

  • static context_timestamp(record, 时期戳
    将赠送的的时期戳替换为客户端的确切的时区时期,此办法不用于设置 _defaults initializer,因日期时期 运动场是在客户端显示时不自觉动作修正的。条件要设置默许值,请运用()。
Name
Parameters: 时期戳(日期时期),普通UTC datetime, 将其替换为客户端时区的日期时期
Return type datetime
Returns 客户端时区替换后的DATETIME
  • static from_string(有价值)
    采用一ORM 有价值转变为 datetime

  • static 如今(*ARGS)
    隐现ORM 所需体式的流行的时期,它通常用于计算默许值。

  • static to_string(有价值)
    采用一datetime替换成契合ORM需要量的 后体式 string value。

Relational fields 相干域

class openerp.fields.Many2one(comodel_name=None, string=None, **kwargs)
Bases:
此运动场的值为 size 0 或许 1的 recordset

Name Description
Parameters: comodel_name (字母串) 目的模子的术语
域(域) or 字母串) 可选,供用户从客户端选择,率先停止必然的银幕
环境(DICT) 可选,在客户端处置此运动场,创设环境
ondelete 裁剪援用记载时的设置是,记载的行动,可填:set null, restrict, cascade
auto_join whether JOINs are generated upon search through that field (乔治英国数学家和逻辑学家), by default 假)
delegate set it to True to make fields of the target model accessible from the current model (对应) to 恢宏(恢宏)

comodel_name 有召集引起,此外左右如行星或恒星 是 related field or field extendsions

class openerp.fields.One2many(comodel_name=None, inverse_name=None, string=None, **kwargs)
Bases: Multi
One2many field; 此运动场的值为recordset,all the records in comodel_name such that the field inverse_name is equal to the current 记载。

Name Description
Parameters: comodel_name (字母串) 目的模子的术语
inverse_name 对应于目的 模子(b) 模子) 满场之名,这一如行星或恒星 CooDelphi术语必然要是 model
domain 同Many2one
context 同上
auto_join 同上
limit optional limit to use upon read (积分)

comodel_name 和 inverse_name 有召集引起,此外左右如行星或恒星 是 related field or field extendsions

class openerp.fields.Many2many(comodel_name=None, relation=None, 哥伦布=None, 柱2=None, string=None, **kwargs)
Bases: Multi
Many2many field; 这一如行星或恒星值是人家recordset

Name Description
Parameters: comodel_name (字母串) 目的模子的术语
relation(字母串) 可选,贮存器它们私下相干的表的术语。
哥伦布(字母串) optional name of the column referring to “these” records in the table relation
柱2(字母串) optional name of the column referring to “those” records in the table relation
域(域) or 字母串) 和等等两种相干 运动场是同上的
环境(DICT) 同上
极点(int) 同上

comodel_name 有召集引起,此外左右如行星或恒星 是 related field or field extendsions
relations 哥伦布 柱2 它是可选的。,条件不表示愿意,与,Odoo将不自觉动作由于CORESP结果。。

class openerp.fields.Referece(selection=None, string=None, **kwargs)
Bases: openerp.

no comments

Leave me comment