资源预览内容
第1页 / 共66页
第2页 / 共66页
第3页 / 共66页
第4页 / 共66页
第5页 / 共66页
第6页 / 共66页
第7页 / 共66页
第8页 / 共66页
第9页 / 共66页
第10页 / 共66页
亲,该文档总共66页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
构建Odoo模块模块组成o 业务对象业务对象声明为Python类, 由Odoo自动载入.o 数据文件件XML或或CSVV文件格格式, 在其中中声明了了元数据据(视图图或工作作流)、配置数数据(模模块参数数)、演演示数据据等.o Web控控制器处理Weeb浏览览器发来来的reequeestss.o 静态weeb数据据Web用用到的图图像, CSSS或JaavaSScriipt文文件.模块结构构一个Oddoo模模块也是是一个PPythhon模模块, 存放在在一个目目录中, 包含含一个_innit_.ppy文件件, 用用于导入入其他PPythhon模模块.fromm .immporrt mmymoodulleodooo.pyy提供了了一个子命命令sccafffoldd可以方方便地创创建一个个空的模模块.$ oddoo.py scaaffoold 命令执行行后, 将会创创建一个个子目录录并且其其中包括括了Oddoo模模块所需需的一些些基本文文件.练习 #1执行 ./oddoo.py scaaffoold opeenaccadeemy adddonss, 在在adddonss目录下下创建一一个名为为opeenaccadeemy的的模块, 生成成的目录录文件结结构如下下.opennacaademmy _iinitt_.py _oopennerpp_.py conntroolleers.py demmo.xxml moddelss.pyy seccuriity irr.moodell.acccesss.ccsv temmplaatess.xmml各文件内内容请查查看文件件或查看看原文, 然后对对_oopennerpp_.py中中的几种种标识文文本进行行修改,至少需要要添加insstalllabble:Trrue, aappllicaatioon:Truue。对象关系系映射ORM层层是Oddoo的的一个关关键组件件, 它它可以避避免大部部分的SSQL语语句编写写从而提提高扩展展性和安安全性.业务对象象用派生生自Moodell的Pyythoon类(模型)来编写写, 该该类的_namme属性性定义了了模型在在Odooo系统统中的名名称.fromm oppeneerp impportt moodellsclasssMiinimmalMModeel(mmodeels.Moddel): _naame = tesst.mmodeel字段字段定义义模型能能够存储储什么以以及在哪哪里存储储, 字字段在模模型类中中用属性性来定义义.fromm oppeneerp impportt moodells, fieeldssclasssLeessMMiniimallModdel(moddelss.Moodell): _naame = tesst.mmodeel2namee = fieeldss.Chhar()通用属性性与模型类类似, 字段也也可以通通过参数数传递对对其进行行设定:namee = fieeld.Chaar(rrequuireed=TTruee)字段的常常用属性性有:o striing (unnicoode, deefauult: fiieldds nnamee)字段标签签名称,会显示示在界面面上(对对用户可可见)。o requuireed (boool, deffaullt: Fallse)如果值为为Truue,此此字段值值不能为为空,设设置默认认值或者者在创建建记录时时提供。o helpp (uuniccodee, ddefaaultt: )界面上显显示提示示语。o indeex (boool, deffaullt: Fallse)如果值为为Truue,创创建表时时将为此此列添加加索引。简单字段段字段可以以分为两两类: 简单字字段和关关系字段段. 前前者为原原子值, 直接接保存在在模型对对应的数数据库表表中; 后者连连接到其其他的记记录上(可以是是相同的的模型也也可以是是不同的的模型).Boolleann, DDatee, CCharr这些都都是简单单字段.保留字段段Odooo在模型型中自动动创建并并维护一一些字段段, 这这些字段段就是保保留字段段, 这这些字段段数据不不需要也也不应该该手动去去修改.o id (Id)一条记录录的唯一一id。o creaate_datte (Dattetiime)记录创建建时间。o creaate_uidd (MManyy2onne)谁创建的的记录。o writte_ddatee (DDateetimme)最后修改改时间。o writte_uuid (Maany22onee)谁最后修修改的记记录。特殊字段段默认情况况下, Odooo要求求模型中中有一个个namme字段段, 用用于显示示和搜索索, 通通过设置置_reec_nnamee也可以以达到这这样的目目的.练习 #2在opeenaccadeemy模模块中定定义一个个新的模模型Cooursse, opeenaccadeemy/moddelss.pyy内容如如下:# -*- ccodiing: uttf-88 -*-fromm oppeneerp impportt moodells, fieeldss, aapiclasssCooursse(mmodeels.Moddel): _naame = opeenaccadeemy.couurseenamee = fieeldss.Chhar(strringg=TTitlle, reequiiredd=Trrue)desccripptioon = fiieldds.TTextt()数据文件件Odooo是一个个高度数数据驱动动的系统统, 虽虽然使用用Pytthonn代码来来定制模模块行为为, 但但很多模模块数据据是在其其载入时时settup的的, 并并且有些些模块仅仅仅为OOdooo添加数数据.通过数据据文件来来定义模模块数据据, 例例如可以以使用XXML文文件中的的元元素定义义数据, 每一一个元素创创建或者者更新数数据库中中的一条条记录, 形式式如下:a vvaluueo modeelOdooo模型名名.o id外部IDD(Exxterrnall Iddenttifiier), 通通过它可可以引用用到记录录(并且且不需要要知道记记录所在在的数据据库IDD).o 元素namee属性用用于确定定字段名名称(例例如deescrripttionn), 该元素素的boody给给出字段段的值.数据文件件必须在在模块载载入清单单文件列列表中, 也就就是_opeenerrp_.pyy的datta列表(全部载载入)或或demmo列表(只有设设定为载载入演示示数据才才会载入入)中.练习 #3创建一个个数据文文件来向向Couursee中添加加数据, 编辑辑opeenaccadeemy/demmo.xxml, 并确确认_opeenerrp_.pyy的demmo列表中中有该文文件.Couursee 0Couursee 0s ddesccripptioonCan havve mmulttiplle llineesCouursee 1Couursee 2Couursee 2s ddesccripptioon动作和菜菜单在Odooo中, 动作作和菜单单都是定定义在数数据库中中的数据据记录, 一般般通过数数据文件件来定义义.动作可以以由三种种方式触触发:o 点击菜单单项(菜菜单项链链接到特特定动作作)o 点击视图图上的按按钮(如如果按钮钮连接到到动作)o 作为对象象的上下下文动作作使用声声明一个个ir.ui.mennu并将将其连接接到一个个acttionn, 可可以用下下面的形形式的代代码. Iddeass ideea.iideaa treee,fformm注意: acttionn必须先先于meenu的的连接使使用定义义, 数数据文件件在载入入时顺序序地执行行, 所所以动作作的IDD必须首首先存在在于数据据库中才才能使用用.练习 #4定义一个个新的菜菜单项访访问OppenAAcaddemyy课程.创建oppenaacaddemyy/viiewss/oppenaacaddemyy.xmml文件件, 并并在其中中添加动动作和菜菜单.?
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号