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.

发表评论

电子邮件地址不会被公开。 必填项已用*标注

`