odoo12—开发手册>>P03

字段类型

基础类型:

char, text, boolean, integer, float, date, 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: 二进制型
Html:与text类似,用于多行文本编辑,不过自带编辑器样式,并且会把内容以html解析。
Selection:下拉列表,枚举类型。

复杂类型

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’。

字段属性

1 store=True,计算字段要加
2 readonly=True,设置字段只读
3 index=True,增加数据库索引,提高搜索查找速度
4 required=True,设置字段必填
5 size=64,char类型字段设置字符大小?
6 default=False,默认值
7 oldname=" ",原字段名,用于替换字段名
8 related='' , 关系字段
9 compute = ‘方法名’ ,计算方法
10 inverse=‘ ’,逆计算,可以和cmpute一同使用
11 help = ’ ’ ,提示信息
12 ondelete = ’ ’
13 compute_sudo = True
14 domain = [ ]
15 digits=(10,2),添加在浮点型后面,控制小数位数(长度为10,数据库:保留两位)
16 translate=True

常用字段属性

String

是要在用户界面中使用的字段的默认标签。除了Selection和Relation字段之外,它是第一个位置参数,因此
大多数情况下它不用做关键字参数。如果未提供,则从字段名称中自动生成。

default

为字段设置默认值。可以是一个特定的值,或者是一个可调用的参数,包括匿名函数或命名功能。

readonly=True

默认情况下,该字段在用户界面中不可编辑。但模型方法中的代码可以写入它,因为这只是用户界面的设置。

required=True

默认情况下在用户界面强制使用该字段。通过在列上添加 NOT NULL 约束在数据库级别强制执行此操作。

index=True

在字段上添加数据库索引,以便以缓慢的写入操作为代价 加快搜索操作。

copy=False

在使用重复记录功能copy()ORM方法时,忽略该字段,默认情况会复制 字段值 ,但默认情况下不复制的对多关系字段除外。

groups

将字段的访问权限和可见性限制为某些组。它期望安全组以逗号分隔的xml
ID列表,例如,states={‘done’:[{readonly’,True)].
请注意,states属性等效于视图中的attrs属性。另外请注意,视图支持状态属性,但它又不同的用途:它接受以逗号分隔的状态列表,以控制元素何时可见。

related

字段=fields.类型(related=“某个字段.类字段”,store=true/false)
related字段可以简记为“带出字段”,由当前模型的某个关联类型字段的某个字段带出值

compute

字段不是一种字段类型,而是指某个字段的值是计算出来的。 一个字段的值,可以通过一个函数来动态计算出来。定义格式如下:

字段名 = fields.类型(compute="函数名", store=True / false)  # store定义了该动态改变的字段值是否保存到数据库表中
@api.depends(依赖的字段值)  # depend的字段值一旦发生变化,就会触发该函数,从而更新compute字段值。
def 函数(self):
    self.字段 = 计算字段值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Odoo是一种基于Python的企业资源计划(ERP)系统,它提供了众多的业务功能模块,如销售、采购、库存管理、制造、财务等,并且可以根据企业的需要进行定制开发。就Odoo开发而言,Odoo 12中文开发手册提供了很好的参考资料。 该手册分为三个部分,分别为基础篇、进阶篇以及高级篇。其中基础篇主要介绍了Odoo12开发的基本概念,如模型、视图、控制器等,还包含了Odoo的相关工具和模块包的基本使用方法,并且提供了一个基于简单示例的完整开发过程。 进阶篇则涉及到Odoo的高级开发技术,如继承、重载、QWeb模板、报表等内容。这部分内容较难,需要有一定的Python编程基础和对Odoo开发的了解。但是,如果您能掌握这些高级技术,就能够更全面、更深入地进行Odoo开发工作。 最后,高级篇主要介绍了Odoo的定制化开发和部署。该部分内容对于需要在专业环境中使用Odoo的企业或开发人员来说非常重要。它包含了如何使用Odoo的安装包、如何定制Odoo的安装、如何进行数据备份和恢复等内容。 总的来说,Odoo 12中文开发手册Odoo开发工作的必备指南,无论您是新手还是专业开发人员都值得一读。 ### 回答2: Odoo12是一种全功能的开源企业资源计划(ERP)系统,旨在为企业提供一种统一的解决方案。Odoo12中文开发手册可以帮助开发人员深入了解该系统,并教授他们如何使用Python编写Odoo模块以扩展和自定义其功能,以满足企业特定的需求。 该手册Odoo框架的体系结构和模块结构开始,介绍了如何使用XML语言创建模块,如何编写模块逻辑,以及如何使用Odoo数据模型和ORM查询语言来访问数据库。 手册介绍了Odoo中常用的模块开发技术,包括视图、表单、报表、流程等。还包括了关于Odoo web框架的详细介绍,其中包括了控制器、路由、HTTP请求和响应、Cookies等内容,这些内容对于开发Odoo的web模块非常重要。 此外,该手册还深入讲解了Odoo的安全机制以及如何为模块添加权限和角色,以及如何使用Odoo内置的安全模块进行身份验证和访问控制。 最后,手册通过讲述实际的模块开发案例以及Odoo社区模块的实现,使开发人员能够实际运用所学知识,从而更好地理解和掌握Odoo12开发技术。 总之,Odoo12中文开发手册是学习和使用Odoo12系统的必备工具,旨在帮助开发人员深入掌握Odoo开发技术,以更好地满足企业自身的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值