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指明关联表。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值