Skip to content
  • Categories
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse

Odoo 中文社区

  1. Home
  2. Categories
  3. Python 开发
  4. 关于odoo自定义分析报表,数据展示的问题。

关于odoo自定义分析报表,数据展示的问题。

Scheduled Pinned Locked Moved Python 开发
9 Posts 2 Posters 2.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • F Offline
    F Offline
    franciewang
    wrote on last edited by
    #1

    最近在做自定义分析报表相关内容,目前的解决方案是,把一个查询视图(report_view)作为一个单独的模型,查询结果(report_result)作为一个的模型模型,报表每次展示,都是先清空report_result中的数据,从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示,但是这样数据量一旦多起来,速度会非常慢,我想问一下,odoo能不能把 sql查询的数据 直接展示到模型中,类似 ajax请求数据,展示在前端这种方式。

    1 Reply Last reply
    0
    • digitalsatoriD Offline
      digitalsatoriD Offline
      digitalsatori 管理员
      wrote on last edited by digitalsatori
      #2

      你的理解是错误的。report_view本来就是SQL查询

      【上海先安科技】(tony AT openerp.cn)

      F 1 Reply Last reply
      0
      • F Offline
        F Offline
        franciewang
        wrote on last edited by
        #3
        This post is deleted!
        1 Reply Last reply
        0
        • F Offline
          F Offline
          franciewang
          replied to digitalsatori on last edited by
          #4

          @digitalsatori report_view 是一个视图,里面的所有数据都是全的(没有查询条件过滤),report_result是通过查询条件对report_view进行查询 得到的结果,现在查询结果 有了(数据结果和查询sql 都有),问题是怎么展示到前端,我现在 只能通过 清空report_result,然后把得到的查询结果 逐条插入到report_result中,这样让 odoo 自动显示出来。 我是想问 有没有什么方式 可以不用 在数据库 进行插入操作,直接将 展示结果 展示到前端。

          1 Reply Last reply
          0
          • digitalsatoriD Offline
            digitalsatoriD Offline
            digitalsatori 管理员
            wrote on last edited by
            #5

            我估计你的report_result模型是设了类属性_auto = False,而report_view是定义在init方法中的。如果是这样,那么这个就是Odoo的标准的report定义方法。

            模型(比如report_result)并不一定要与数据库的表关联,它也可以与SQL View关联(通过上述表述的方式)。SQL View数据库视图并不是普通的数据库表,它本身并不存储数据,它实际就是对数据库表的Sql查询结果集。

            @franciewang 在 关于odoo自定义分析报表,数据展示的问题。 中说:

            从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示

            你对报表数据的运算流程的描述是错误的。如果认为有性能问题,需要提供性能瓶颈的依据,不是靠这样猜测的。

            【上海先安科技】(tony AT openerp.cn)

            F 2 Replies Last reply
            0
            • F Offline
              F Offline
              franciewang
              wrote on last edited by
              #6
              This post is deleted!
              1 Reply Last reply
              0
              • F Offline
                F Offline
                franciewang
                replied to digitalsatori on last edited by
                #7

                @digitalsatori 非常 感谢!!!豁然开朗

                1 Reply Last reply
                0
                • F Offline
                  F Offline
                  franciewang
                  replied to digitalsatori on last edited by
                  #8

                  @digitalsatori 我还有两个疑问,请教一下:

                  • 如果把report_result用init方法 加载,那 是不是 只有升级的时候才会 改动,我希望每次点查询 都可以 执行一下 sql ,然后展现出来,这个可以实现么?

                  • 不用的用户,要同时进行查询,如果 两个人的查询条件不同,那么对应的 生成数据的 sql 就有所不同,对应生成的 报表会不会 有冲突?

                  1 Reply Last reply
                  0
                  • digitalsatoriD Offline
                    digitalsatoriD Offline
                    digitalsatori 管理员
                    wrote on last edited by
                    #9

                    “数据库视图”(SQL VIEW)也可以理解为“虚拟表”,它是对数据库一个或多个表的查询结果集。结果集的内容会自动根据其查询表的数据的更新而更新。

                    Odoo的report就是基于这个“虚拟表”的数据根据不同用户所设定的查询条件返回并展示不同的数据结果。

                    【上海先安科技】(tony AT openerp.cn)

                    1 Reply Last reply
                    0

                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Tags
                    • Popular
                    • Users
                    • Groups