Odoo

字段定义的参数

字段定义中可用的参数有, change_default,readonly,required,states,string,translate, size,priority,domain,invisible,context,selection。

  • change_default:别的字段的缺省值是否可依赖于本字段,缺省值为:False。 例子(参见 res.partner.address),

      'zip': fields.char('Zip', change_default=True, size=24),
    

    这个例子中,可以根据 zip 的值设定其它字段的缺省值,例如,可以通过程序代码,如果 zip 为 200000 则 city 设为“上海”,如果 zip 为 100000 则 city 为“北京”。

    参考: http://cn.openerp.cn/openerp-7-set-dafault/

readonly: 本字段是否只读,缺省值:False。

required: 本字段是否必须的,缺省值:False。

??? states: 定义特定 state 才生效的属性,格式为:{'name_of_the_state': list_of_attributes},其中 list_of_attributes 是形如[('name_of_attribute', value), ...]的 tuples 列表。例子(参见 account.transfer):

'partner_id': fields.many2one('res.partner', 'Partner', states={'posted':[('readonly',True)]}),

string: 字段显示名,任意字符串。

translate: 本字段值(不是字段的显示名)是否可翻译,缺省值:False。

size: 字段长度。

priority:

domain: 域条件,缺省值:[]。在 many2many 和 many2one 类型中,字段值是关联表的 id,域条件 用于过滤关联表的 record。例子:

'default_credit_account_id': fields.many2one('account.account', 'Default Credit Account', domain="[('type','!=','view')]"),

本例表示,本字段关联到对象('account.account')中的type 不是'view'record

invisible: 本字段是否可见,即是否在界面上显示本字段,缺省值 True。

selection: 只用于 reference 字段类型,参见前文 reference 的说明。