odoo新建自己的模块

注意事项(必看)

  1. 本文主要针对odoo11绿色版,其他版本酌情参考。
  2. 本文所用方法不需要安装python,不需要配置pycharm环境。

正文开始:

第一步:配置conf
odoo.conf

这一步是为了避免 出现加载不到你写的模块(大部分绿色版里面应该已经配制了)

addons_path = enterprise11,odoo11/odoo/addons,myaddons
;addons_path = enterprise11,odoo11/odoo/addons
;addons_path = odoo11/odoo/addons,myaddons
还有其他配置 一般都有

根据你的路径修改即可

第二步:设计自己的模型(配制好环境的可以直接 代码生成模型,新手建议自己一步一步来)

  • 在myaddons下创建文件夹
  • 新建initmanifest文件 前者导入models 后者用来提供信息;
init:from . import models
manifest:{
    'name': 'lj git manage', # 模块名称
    'version': '3',  # 版本
    'website': 'https://www.yourwork.cn', 
    'author': 'xxxxx', # 作者
    'category': '管理',  # 模块类别
    'depends': ['base'],  # 依赖
    'description': """
    这个模块很有意思,因为我花了很久时间才知道它怎么做
    """,   # 描述
    'data': [  # 加载XML文件,这个要自己写在view中
        'views/git.xml',  
    ],
    'installable': True,  # 最后三个很重要 自己了解
    'application': True,
    'auto_install': False,
}

第三步:新建models文件夹 并新建init 和 模型文件

__init__:from . import git_model 导入模型文件
模型文件:
class LjxGit(models.Model):
    _name = 'ljx.git'
    _description = "仓库数据"  # 提示自己
    _order = "id"  # 排序依据

    name = fields.Char(string="物品名称")
    price = fields.Float(string="价格")
    count = fields.Char(string="数量")
   # content = fields.One2many('ljx.git.content', 'pid', string="物品详细属性") 这行是为了链接表,这里可以不用

第四步:新建views 并创建xml文件 这里直接给代码

<?xml version="1.0" encoding="utf-8"?>

<odoo>
    <data>

        <!-- form视图 -->
        <record id="ljx_git_ljx_git_form" model="ir.ui.view">
            <field name="name">Form</field>
            <field name="model">ljx.git</field>
            <field name="arch" type="xml">
                <form>
                    <sheet>
                        <group name="group_top" string="仓库1">
                            <field name="name"/>
                            <field name="price"/>
                            <field name="count"/>
                        </group>
                    </sheet>
                </form>
            </field>
        </record>

        <!-- tree视图 -->
        <record id="ljx_git_ljx_git_tree" model="ir.ui.view">
            <field name="name">Tree</field>
            <field name="model">ljx.git</field>
            <field name="arch" type="xml">
                <tree>
                    <field name="name"/>
                    <field name="count"/>
                </tree>
            </field>
        </record>

        <!-- 视图动作 -->
        <record id="ljx_git_ljx_git_action" model="ir.actions.act_window">
            <field name="name">仓库2</field>
            <field name="res_model">ljx.git</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form,kanban</field>
            <field name="context">{}</field>
        </record>

        <!-- 图标菜单 -->
        <menuitem name="刘的仓库" id="ljx_git_ljx_git_menu_top"/>

        <!-- 顶部菜单 -->
        <menuitem name="刘的小仓库" id="ljx_git_ljx_git_menu_sub" parent="ljx_git_ljx_git_menu_top" action="ljx_git_ljx_git_action"/>

    </data>
</odoo>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容