DTCloud模块提交到gitee仓库的要求:
内容:DTCloud模块工程创建要求与代码开发规范
地址:https://gitee.com/dtcloud360

1、manifes文件的书写要求

manifest.py 文件
清单文件用于将python软件包声明为模块,并指定模块元数据

# -*- coding: utf-8 -*-
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
# DTCloud360
# QQ:35350428
# 邮件:35350428@qq.com
# 手机:13584935775
# 作者:'amos'                             --->改成自己名字
# 公司网址: http://www.dtcloud360.com/
# Copyright 中亿丰信息科技(苏州)有限公司
# 日期:2021/10/15
# &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
{'name': 'DTCloud 基本功能教学','version': '1.0','category': '基础','summary': '设置模块关键词','description': """对当前模块做出描述 """,'author': 'Amos','website': 'http://www.dtcloud360.com/','depends': ['base','mail', 'Amos_WorkFlow'],'data': ['security/ir.model.access.csv','data/amos_demo_data.xml','views/amos_demo.xml','views/amos_a.xml',],'demo': [],'installable': True,'application': True,'auto_install': False,
}

注意点:

  1. ‘category’: dtcloud中应用模块的分类依据,尽管建议使用现有类别,但该字段为自由格式,并且会即时创建未知类别。可以使用分隔符 / 创建类别层次结构,例如,SALE/Bar 将创建一个类别Foo,一个类别Bar作为Foo的子类别,并将其模块的类别设置为Bar。
  2. 其他字段说明:
    name 模块名称:用于显示模块的名称
    summary 关键词 :设置模块关键词
    description 模块说明:模块的描述信息
    author 作者:模块的创建者
    website 网站 :网站地址
    category 类别 :该模块的类别
    version 版本号 :版本还号
    depends 依赖模块 :依赖模块列表,本模块所依赖的模块,安装本模块会同时安装依赖的模块
    data 加载的处理文件,总是加载
    demo 只加载演示模式
    installable 是否可安装 :bool型数据,用于说明该模块是否可以被安装
    application 是否是应用程序 :bool型数据,用于说明该模块是否为应用程序 这里设置为True,即可在应用中看到该模块

2、工程目录规范

2.1 工程文件结构目录

2.2 各个文件夹使用讲解

  • init.py:Python代码由 init.py加载,通过该文件导入.py文件及代码子目录。子目录中包含的Python代码,再由其内部的__init__.py导入。
  • manifest.py:模块声明文件,manifest.py文件中对当前模块进行一些描述声明。例如:data和demo键名所声明的是供加载的数据文件,通常是用户界面、fixture数据和演示数据中会使用到的XML和CSV文件。还可使用YAML文件,可以包含一些模块加载时运行的过程指令,例如,通过程序生成或更新记录而非在XML文件中加入数据。
  • controllers:自定义的控制器实现,自定义一些网页或功能可通过Controller实现,包含网站控制器的代码文件,用于为模块提供各种功能。
  • data:初始化数据文件目录
  • demo:包含带演示数据的数据文件,对于测试、培训或模块评测都非常有用。
  • i18n:国际化文件目录,针对不同语言有相应的翻译文件与其对应,用户登录成功后在首选中修改语言后,系统会自动查找相应的翻译文件
  • models:包含后端代码文件,模块中使用到的所有对象模型,相应的业务逻辑代码都在次目录下的文件中,模型对象继承自models.Model
  • security:权限控制目录,ir.model.access.csv文件中保存不同用户分组对相应模型对象的增删改查的权限控制。
  • static:静态资源目录。description目录是一个项目描述目录,icon.png是模块的图片,在应用看板中可以看到;此文件名称都是固定的,图片尺寸最好是100*100;也可在此目录下使用一些html格式的文件对模块做一个描述。src目录是一些资源目录如:js、css、images、xml
  • views:视图文件目录。models目录下的模型对象的视图文件,如表单视图、列表视图、搜索视图、看板视图等等
    其他文件目录:
  • wizard:向导目录。向导模型在数据库中也会建立相应的数据库表,向导保存的是一些临时使用的数据,视图上多以弹出框形式展示,向导产生数据为临时数据不会长时间在数据库中保存,模型对象继承自models.TransientModel
  • doc:模块说明文档目录
  • report:模块中有关的报表模型或者相应报表视图文件
  • README.md文件:必需有的【文件】
---------------
安装说明:xxxxxxxx 说明。 例如:依赖包版本、安装在方式、适用系统
-----------------------
模块功能点:xxxxxxxx 说明。例如:模块功能,适用的的业务场景
----------------------
使用说明:xxxxxxxx 说明。例如:是需要配置系统参数
----------------------

3、模块命名

  模块命名以该工程的功能是什么来命名:像原生的:sale、stock、purchase

4、代码书写规范

  • 模块(modele)命名使用业务相关的英文单词或单词组合。例如:school,school_inventory。
  • 模型(model)命名使用"."连接具有该模型业务相关的单数形式的英文单词。例如:res.partner,pay.payment,pay.refound。
  • 模型的class类名使用模型名的驼峰命名。例如:ResPartner,PayPayment,PayRefound
  • python文件使用首字母小写的驼峰命名,使用"_"连接。例如:pay_partner,pay_payment。
  • view视图使用小写字幕的下划线+view命名,例如:pay_partner_view.xml pay_payment_view.xml
  • 在模型中定义外键时使用外键模型名关键字+"_id"命名,one2many用ids,例如:order_id,line_ids.
  • 业务代码中模型的实例使用模型关键字命名,复式形式加s。例如product products
  • 业务代码中模型的字典数据使用模型名关键字+”dict“命名,字典列表数据使用模型名关键字+”_list“命名。例如:product_dict product_list
  • 业务代码中模型的实例id使用模型名关键字+”_id“命名,复数形式加s。变量是int或list类型。例如:order_id order_ids
  • 临时变量使用vals,params,fields,line,item等
  • 业务代码中变量使用下划线命名规则。例如product_list,user_name

5、常用方法
ORM是一个完整的对象关系映射层是开发人员不必编写基本的SQL管道

  • create(vals):在数据表中插入一条记录,返回新对象。
  • search(domain):查询符合条件的对象列表,返回对象列表。
  • search(domain, limit=1):查询符合条件的一个对象,返回一个对象。
  • search_read(domain, fields):查询符合条件的字典列表。返回指定fields的字典列表。
  • browse(id):浏览对象及其关联对象。返回对象。
  • browse([ids]):浏览对象列表,返回对象列表
  • browse(id).read(fields):浏览对象及其关联对象,返回字典
  • search(domain).read(fields):返回记录集的指定字段值列表。返回字典列表
  • write(vals):保存一个或几个记录的一个或几个字段。返回布尔值,True
  • unlink():删除一个或几个记录
  • default_get:复位一个或多个字段的缺省值
  • default_set:重置字段的缺省值

DTCloud编码规范相关推荐

  1. JavaScript最全编码规范

    转载: JavaScript最全编码规范 类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo = ...

  2. 【C++】Google C++编码规范(三):智能指针

    [C++]Google C++编码规范(一):作用域 [C++]Google C++编码规范(二):类 std::unique_ptr std::unique_ptr是C++11标准里新推出的智能指针 ...

  3. 《阿里巴巴编码规范(JAVA)》学习认证考后感

    image.png <阿里巴巴 Java 开发手册>是阿里巴巴集团技术团队的集体智慧结晶和经验总结,经历了多次大规模一线实战的检验及不断完善,系统化地整理成册,回馈给广大开发者. 本手册的 ...

  4. google python代码规范_如何用好python编码规范,写一手漂亮的代码

    前一段时间在编写python 代码的时候编辑器中一直在提示规范问题,因为强迫症的原因,我决定遵循python 的编码规范去编码,然后把需要注意的点记录下来, 帮助自己和大家一起成长. 这是我的main ...

  5. Python最简编码规范

    0.前言 本文是阅读<Python Coding Rule>之后总结的最为精华及简单的编码规范,根据每个人不同喜好有些地方会有不同的选择,我只是做了对自己来说最简单易行的选择,仅供大家参考 ...

  6. 华为java安全编码规范_Java安全编码之SQL注入

    随着互联网的发展,Java语言在金融服务业.电子商务.大数据技术等方面的应用极其广泛.Java安全编码规范早已成为SDL中不可或缺的一部分.本文以Java项目广泛采用的两个框架Hibernate和My ...

  7. 分享GitHub上一位老外的嵌入式C编码规范(收藏细读)

    简 介: 本文分析在头条上分享GitHub上一位老外的嵌入式C编码规范(收藏细读):嵌入式大杂烩. 关键词: 嵌入式,C语句,编程规范 分享GitHub上一位老外的嵌入式C编码规范(收藏细读) §01 ...

  8. PHP标记风格,编码规范

    PHP标记风格 PHP一共支持4种标记风格 <?php echo "这是XML风格的标记"; ?> 脚本风格 <script language="php ...

  9. Go 语言编程 — 编码规范指南

    目录 文章目录 目录 参考 工程化要求 编码规范 大小约定 缩进.括号和空格约定 命名规范 包.目录命名规范 文件命名规范 标识符命名规范 变量.常量名 函数.方法名 结构体.接口名 空行.注释.文档 ...

  10. python 编码规范 PEP8整理

    我是用Python的IDE:pycharm来编写Python代码的,用IDE编写代码有一个好处就是语法高亮,智能提示.Python的代码样式规范称之为PEP 8规范,每次编写代码如果有出现不符合PEP ...

最新文章

  1. ArrayList源码学习
  2. 英特尔大地震!解雇首席工程官,7纳米延期,或面临集体诉讼……
  3. 2019上海车展展后报告(整车篇)
  4. ginkgo测试介绍
  5. PHP设计模式 -- 策略模式
  6. Go安装swagger:swagger的安装与使用
  7. 走近分形与混沌(part4)--牛顿与混沌
  8. spring boot 集合mysql_Spring boot整合mysql和druid
  9. JavaScript字符串String常用方法介绍
  10. 安装Vim,提示“Could not get lock......”
  11. 从高斯消元到矩阵的三角分解(LU)
  12. 图像的连通域标记算法及工具介绍
  13. hijson,64位百度云永久免费,这是一个爱分享的世界
  14. 进程之间有哪些通信方式
  15. bugly android升级,Android项目引入bugly在线更新
  16. 深度linux12.12安装,深度Linux 12.12 Alpha发布
  17. learn the python in hard way习题36~39的附加习题
  18. 电机或编码器相关的 CW 与 CCW
  19. 会议OA之会议排座送审
  20. Java校招面经_小米java校招面经,面试题整理(一面)

热门文章

  1. openg离线包_OpenGL离线渲染和缓冲区对象
  2. b站缓存的.blv和.m4s视频文件格式转换
  3. c语言中isupper用法,C语言 isupper()用法及代码示例
  4. json格式校验(json格式校验器)
  5. Axure RP--快捷键大全(常用快捷键)
  6. 【人脸关键点】——PFLD人脸关键点检测解读
  7. 透过表象看本质!?之三——Kalman滤波
  8. 如何在swap中获取交易对的价格
  9. 【CMake】CMakeList编写整理
  10. java经典算法(二)---zws