odoo学习记录3

todob模块创建好了以后,模块内主要文件有:

1. manifest 主控文件
2. models/models.py 模型文件
3. views/views.xml 视图文件

主要文件默认代码说明:

manifest.py 文件

# -*- coding: utf-8 -*-
{
    'name': "todob",  # 模块名称

    'summary': """
        Short (1 phrase/line) summary of the module's purpose, used as
        subtitle on modules listing or apps.openerp.com""",
    # 模块摘要
    'description': """
        Long description of module's purpose
    """,
    # 模块描述	
    'author': "My Company",
    'website': "http://www.yourcompany.com",


    'category': 'Uncategorized',
    'version': '0.1',

    # any module necessary for this one to work correctly
    'depends': ['base'],

    # always loaded
    'data': [
        'security/ir.model.access.csv',  #如果注释掉,可以安装但是菜单里看不到这个程序
        'views/views.xml',
        'views/templates.xml',
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo/demo.xml',
    ],
}

models/models.py

	# -*- coding: utf-8 -*-
	
	from odoo import models, fields, api
	
	
	class todob(models.Model):
	     _name = 'todob.todob'
	     _description = 'todob.todob'
	
	     name = fields.Char()
	     value = fields.Integer()
	     value2 = fields.Float(compute="_value_pc", store=True)
	     description = fields.Text()
	
	     @api.depends('value')
	     def _value_pc(self):
	         for record in self:
	             record.value2 = float(record.value) / 100

views/views.xml

	<odoo>
	  <data>
	    <!-- explicit list view definition -->
	
	    <record model="ir.ui.view" id="todob.list">
	      <field name="name">todob list</field>
	      <field name="model">todob.todob</field>
	      <field name="arch" type="xml">
	        <tree>
	          <field name="name"/>
	          <field name="value"/>
	          <field name="value2"/>
	        </tree>
	      </field>
	    </record>
	
	
	    <!-- actions opening views on models -->
	
	    <record model="ir.actions.act_window" id="todob.action_window">
	      <field name="name">todob window</field>
	      <field name="res_model">todob.todob</field>
	      <field name="view_mode">tree,form</field>
	    </record>
	
	
	    <!-- server action to the one above -->
	
	    <record model="ir.actions.server" id="todob.action_server">
	      <field name="name">todob server</field>
	      <field name="model_id" ref="model_todob_todob"/>
	      <field name="state">code</field>
	      <field name="code">
	        action = {
	          "type": "ir.actions.act_window",
	          "view_mode": "tree,form",
	          "res_model": model._name,
	        }
	      </field>
	    </record>
	
	
	    <!-- Top menu item -->
	
	    <menuitem name="todob" id="todob.menu_root"/>
	
	    <!-- menu categories -->
	
	    <menuitem name="Menu 1" id="todob.menu_1" parent="todob.menu_root"/>
	    <menuitem name="Menu 2" id="todob.menu_2" parent="todob.menu_root"/>
	
	    <!-- actions -->
	
	    <menuitem name="List" id="todob.menu_1_list" parent="todob.menu_1"
	              action="todob.action_window"/>
	    <menuitem name="Server to list" id="todob" parent="todob.menu_2"
	              action="todob.action_server"/>
	
	  </data>
	</odoo>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值