美文网首页
odoo 第一个模块

odoo 第一个模块

作者: Echo剑心 | 来源:发表于2017-01-11 19:42 被阅读1350次
Paste_Image.png

打开 myaddons/openacademy/manifest.py 文件
可以看到这是一些对该模块的一些描述,需要加载的数据什么的

controllers 文件夹算是路由吧
models 文件夹是model,ORM 对应了数据库中的表结构,可以简化书写SQL语句的烦恼
views 文件夹是视图,通过xml文件渲染

1. 修改model文件,ORM

打开 models.py文件

# -*- coding: utf-8 -*-
from odoo import models, fields, api
class openacademy(models.Model):   
   _name = 'openacademy.openacademy'    
  name = fields.Char(required=True)
  description = fields.Text()

一个类对应了数据库的一张表,需要继承自 models.Model 。

_name会对应数据库的表名,但是数据库中的名字略有不同的是, .会转换成_
也就是说 openacademy.openacdemy 会对应数据库中的 openacademy_openacademy

name 则是表的一个字段,数据类型是 Char类型

requried=True 表示是必填字段

好了,现在数据库有了,下一步就是数据的显示了

2. 重启服务器,进行设置

Paste_Image.png

进入设置,点击右边的激活开发者模式

然后进入应用列表页面

Paste_Image.png

点击左边的更新应用列表

更新完成后 在搜索框中搜索 openacademy ,这里要去掉前边的 模块选项

Paste_Image.png

没错,点击安装!

Paste_Image.png

打开数据库发现 openacademy_openacademy 已经创建
已经有了我们写的 name 和 description字段了,其余的字段是默认生成的

3. 修改xml文件用于显示

打开views/views.xml 文件

<odoo> 
    <data>
         <record model="{model name}" id="{record identifier}">
             <field name="{a field name}">{a value}</field>
         </record>
     </data>
</odoo>

这里已经说的很清楚了,于是按照我们写的进行替换就可以了

<odoo>  
  <data>        
        <record model="openacademy.openacademy" id="openacademy_view">     
                     <field name="name">Hello world</field>       
        </record>    
     </data>
</odoo>

重新更新模块,上面已经提到就不用重复了,值得一提的是:修改python文件是需要重启服务器的再升级模块,而只修改xml文件的话不用重启服务器,只要升级模块即

重新刷新数据库表~

Paste_Image.png

刚才写的数据已经写到数据库啦

再添加几条数据应该很简单了吧?

<record model="openacademy.openacademy" id="openacademy_view">
                     <field name="name">Hello world</field>
        </record>
        <record model="openacademy.openacademy" id="openacademy_view2">
                     <field name="name">Hello Odoo</field>
                     <field name="description">Odod 踩坑</field>
        </record>
        <record model="openacademy.openacademy" id="openacademy_view3">
                     <field name="name">Hello Python</field>
                     <field name="description">生活不易,我用Python</field>
        </record>

只要在xml中加上几句就好了啦

不要忘了升级模块!

Paste_Image.png

相关文章

  • odoo V10开发文档(第一章:模块构造,模型,视图,继承)

    odoo模块构造 1.odoo模块由manifest定义,每个模块同时也是一个python包,通过init文件进行...

  • odoo 设计模式

    odoo 提供了一套开发框架和一系列好用的ERP模块。基于此,我们会在odoo框架odoo提供的模块基础上解决一系...

  • 构建一个网站

    创建一个基本模块 在 Odoo,我们通过创建模块来完成任务。 使用 Odoo 的搭建脚本工具可以创建一个基本模块。...

  • odoo配置文件详解

    [options] addons模块的查找路径 addons_path = D:\odoo\Odoo 10.0\s...

  • Odoo企业微信 新版一键登录模块众筹

    Odoo企业微信模块介绍 Odoo实战项目一期 本期我们将一起实现一个odoo企业微信登录模块。 企业微信是微信对...

  • odoo 第一个模块

    odoo模块的组成 Bussiness objects Data files Web Controllers St...

  • ORM之模型对象Model

    模型对象Model Odoo的模型对象在odoo模块的models.py文件中,最基础的对象是BaseModel;...

  • odoo新建模块笔记1

    网上找到的教程: 创建自己的应用模块 进入odoo目录.使用odoo-bin新建 scaffold参数表示新建(脚...

  • 使用命令创建模块

    使用命令创建odoo模块 我们可以在oddo源代码的根目录下 在终端输入 python odoo-bin scaf...

  • odoo sales模块

    Q:默认的销售模块。要创建客户时候显示应收账款,应付账款没填写。但是在表单视图中没有显示。 因为需要设置默认对会计...

网友评论

      本文标题:odoo 第一个模块

      本文链接:https://www.haomeiwen.com/subject/vjvrbttx.html