odoo中def init(self):

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.

from odoo import api, fields, models, tools

class test_report(models.Model):
    _name = ‘test.report‘
    _auto = False
    _description = ‘Test Report‘

    test = fields.Char(string=‘Test‘, readonly=True)
    qty = fields.Float(readonly=True)
    price = fields.Float(readonly=True)
    total = fields.Float(readonly=True)
    note = fields.Char(readonly=True)
    order_date = fields.Datetime(stirng=‘Order Date‘, readonly=True)

    @api.model_cr
    def init(self):
        """test report"""
        tools.drop_view_if_exists(self.env.cr, ‘test_report‘)
        self.env.cr.execute("""
            CREATE OR REPLACE VIEW test_report AS (
                select t1.id,t1.test as test ,t1.qty as qty,t1.price as price,(t1.qty*t1.price) as total,t1.note as note,t0.now_date as order_date
                from test_order_data t0
                left join test_order_data_line  t1 on t0.id=t1.order_id
            )""")
   <record id="test_report_tree_view" model="ir.ui.view">
            <field name="name">test report tree view</field>
            <field name="model">test.report</field>
            <field name="arch" type="xml">
                <tree string="">
                    <field name="test"/>
                    <field name="qty"/>
                    <field name="price"/>
                    <field name="total"/>
                    <field name="note"/>
                    <field name="order_date"/>
                </tree>
            </field>
        </record>
 <record model="ir.actions.act_window" id="test_report_action">
            <field name="name">测试报表</field>
            <field name="res_model">test.report</field>
            <field name="view_mode">tree</field>
        </record>

  <menuitem name="测试报表"
                  id="test_report_menu"
                  action="test_report_action"
                  sequence="3"/>

odoo中创建一个视图:postgresql

原文地址:https://www.cnblogs.com/1314520xh/p/10263443.html

时间: 2024-10-15 17:07:18

odoo中def init(self):的相关文章

Odoo中Qweb使用入门

参考 可参考官网例子https://doc.odoo.com/trunk/web/qweb/或 http://thierry-godin.developpez.com/openerp/tutorial-module-creation-pos-modification-english-version/ 1 Qweb官方定义 Qweb被用作OpenERP的Web客户端模板引擎.它是一种基于XML的模板语言,同Genshi, Thymeleaf.Facelets模板具有相似并且具有以下特性: 完全在客

Swift中的init方法

摘要:Swift有着超级严格的初始化方法,不仅强化了designated初始化方法的地位,所有不加修饰的init方法都需要在方法中确保非Optional的实例变量被赋值初始化,而在子类中,也强制调用super版本的designated初始化. 我们在深入初始化方法之前,不妨先再想想Swift中的初始化想要达到一种怎样的目的. 其实就是安全.在Objective-C中,init方法是非常不安全的:没有人能保证init只被调用一次,也没有人保证在初始化方法调用以后,实例的各个变量都完成初始化,甚至如

IOS开发中重写init方法使用需谨慎

IOS开发中重写init方法使用需谨慎 今天在写一个小软件的时候出现一点问题,这个软件的功能是搜索全国学校,首页就是搜索输入框,在框中输入完要查询的学校所在省份,点击buttom后就会跳转到对应的视图控制器中,然后把搜索结果呈现在一个TableView上,但是我在调试时,每次输入完然后点击搜索按钮时,弹出结果列表总是空的,我需要返回到首页再点击一次搜索才会出现结果,而且我在首页更改搜索关键字之后,点击搜索,结果还是上次的搜索结果,必须返回点击一次才会出现这次的搜索结果. 经过大神指点,原来这个问

golang中的init函数以及main函数

首先我们看一个例子:init函数: init 函数可在package main中,可在其他package中,可在同一个package中出现多次. main函数 main 函数只能在package main中. 执行顺序 golang里面有两个保留的函数:init函数(能够应用于所有的package)和main函数(只能应用于package main).这两个函数在定义时不能有任何的参数和返回值. 虽然一个package里面可以写任意多个init函数,但这无论是对于可读性还是以后的可维护性来说,我

odoo中self的使用

odoo中self的使用 介绍 对象self.env提供对请求参数和其他有用的访问: self.env.cr or self._cr 是数据库的游标对象,可用于对数据库的操作 self.env.user是当前用户的记录 self.env.context或self._context是上下文字典 self.env.ref(xml_id)返回对应于XML id的记录 self.env[model_name]返回给定模型的实例 原文地址:https://www.cnblogs.com/itelephan

Relax NG 在Odoo中的应用

想必有些同学一定会奇怪,Odoo是如何将模块中的XML中的诸如record.menuitem是如何被组织和定义的,以及各种field的各种属性究竟有哪些,今天,我们就来一探究竟. Relax NG:“可扩展标记语言的下一代正规语言”是一种基于语法的可扩展标记语言模式语言,可用于描述.定义和限制 可扩展标记语言(标准通用标记语言的子集)词汇表.简单地说 Relax NG是解释XML如何被定义的一套XML.Odoo就是通过定义了一套rng文件定义了自己一套xml框架结构,在模块被安装或者升级的时候将

Odoo 中的 Controller

来自  Odoo处理HTTP请求的接口用的Contoller类,封装于web模块中. --------------------------------------------------------------- RequestHandler: 1. replace_request_password(args):用*替换掉request中的密码字符. 2. dispatch_rpc(service_name, method, params):处理RPC请求.service_name的值可取com

Odoo中的Javascript单元测试

前端页面利用QUnit进行单元测试,本文参考官方文档:https://www.odoo.com/documentation/8.0/reference/javascript.html 访问/web/tests页面可以看到当前所有包含测试模块的单元测试列表. 自定义单元测试方法如下: 1. __openerp__文件中添加对js文件的引用: (非官方文档中将js文件写到'test'中,而是引用view文件,在view文件中添加对js的引用,8.0以后有效) <template id="ass

Servlet中的init()方法如何才会在服务器启动时执行

如果要想让 servlet 的 init () 方法在服务器启动 时就被执行,则需要在 web.xml 中相应的 servlet 下配置 1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" 3 xmlns:xsi="http://www.