odoo的基本字段类型

基础类型:char, text, boolean, integer, float, date, time, datetime, binary 
关系类型:one2one, one2many, many2one, many2many 
复杂类型:selection, function, related

基础类型: 
char: 字符型,常用来存储长度小的文本 
text: 文本型,没有长度限制。 
boolean: 布尔型(True, False) 
integer: 整数,不用多讲 
float: 浮点型,如 ‘rate’ : fields.float(‘Relative Change rate’,digits=(12,6)), digits定义整数部分和小数部分的位数。 
date: 日期型 
datetime: 日期时间型 
binary: 二进制型

基础类型: 
one2one: 一对一关系,格式为:fields.one2one(关联对象Name, 字段显示名, … )。在V5.0以后的版本中不建议使用,而是用many2one替代

many2one: 多对一关系,格式为:fields.many2one(关联对象Name, 字段显示名, … )。可选参数有:ondelete,可选值为”cascade”和”null”,缺省值为”null”,表示one端的record被删除后,many端的record是否级联删除 
例:responsible_id = fields.Many2one(‘res.users’, string=”Responsible”, ondelete=’set null’, index=True)

one2many: 一对多关系,格式为:fields.one2many(关联对象Name, 关联字段, 字段显示名, … ) 
例:session_ids = fields.One2many( ‘openacademy.session’, ‘course_id’, string=”Sessions”)

many2many: 多对多关系 
例’category_id’:fields.many2many(‘res.partner.category’,’res_partner_category_rel’,’partner_id’,’category_id’,’Categories’),表示以多对多关系关联到对象res.partner.category,关联表为’res_partner_category_rel’,关联字段为 ‘partner_id’和’category_id’。当定义上述字段时,OpenERP会自动创建关联表为 ‘res_partner_category_rel’,它含有关联字段’partner_id’和’category_id’。

复杂类型: 
selection: 下拉框字段。定义一个下拉框,允许用户选择值。如:’state’: fields.selection(((‘n’,’Unconfirmed’),(‘c’,’Confirmed’)),’State’, required=True),这表示state字段有两个选项(‘n’,’Unconfirmed’)和(‘c’,’Confirmed’)。

function: 函数型,该类型的字段,字段值由函数计算而得,不存储在数据表中。其定义格式为: 
fields.function(fnct, arg=None, fnct_inv=None, fnct_inv_arg=None, type=’float’, fnct_search=None, obj=None, method=False, store=True)

related: 关联字段,表示本字段引用关联表中的某字段。格式为:fields.related(关系字段,引用字段,type, relation, string, …),关系字段是本对象的某字段(通常是one2many or many2many),引用字段是通过关系字段关联的数据表的字段,type是引用字段的类型,如果type是many2one or many2many, relation指明关联表。

猜你喜欢

转载自blog.csdn.net/weixin_41893060/article/details/81182798