关于odoo自定义分析报表,数据展示的问题。
-
最近在做自定义分析报表相关内容,目前的解决方案是,把一个查询视图(report_view)作为一个单独的模型,查询结果(report_result)作为一个的模型模型,报表每次展示,都是先清空report_result中的数据,从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示,但是这样数据量一旦多起来,速度会非常慢,我想问一下,odoo能不能把 sql查询的数据 直接展示到模型中,类似 ajax请求数据,展示在前端这种方式。
-
你的理解是错误的。report_view本来就是SQL查询
-
This post is deleted!
-
你的理解是错误的。report_view本来就是SQL查询
@digitalsatori report_view 是一个视图,里面的所有数据都是全的(没有查询条件过滤),report_result是通过查询条件对report_view进行查询 得到的结果,现在查询结果 有了(数据结果和查询sql 都有),问题是怎么展示到前端,我现在 只能通过 清空report_result,然后把得到的查询结果 逐条插入到report_result中,这样让 odoo 自动显示出来。 我是想问 有没有什么方式 可以不用 在数据库 进行插入操作,直接将 展示结果 展示到前端。
-
我估计你的report_result模型是设了类属性
_auto = False,而report_view是定义在init方法中的。如果是这样,那么这个就是Odoo的标准的report定义方法。模型(比如report_result)并不一定要与数据库的表关联,它也可以与SQL View关联(通过上述表述的方式)。SQL View数据库视图并不是普通的数据库表,它本身并不存储数据,它实际就是对数据库表的Sql查询结果集。
@franciewang 在 关于odoo自定义分析报表,数据展示的问题。 中说:
从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示
你对报表数据的运算流程的描述是错误的。如果认为有性能问题,需要提供性能瓶颈的依据,不是靠这样猜测的。
-
This post is deleted!
-
我估计你的report_result模型是设了类属性
_auto = False,而report_view是定义在init方法中的。如果是这样,那么这个就是Odoo的标准的report定义方法。模型(比如report_result)并不一定要与数据库的表关联,它也可以与SQL View关联(通过上述表述的方式)。SQL View数据库视图并不是普通的数据库表,它本身并不存储数据,它实际就是对数据库表的Sql查询结果集。
@franciewang 在 关于odoo自定义分析报表,数据展示的问题。 中说:
从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示
你对报表数据的运算流程的描述是错误的。如果认为有性能问题,需要提供性能瓶颈的依据,不是靠这样猜测的。
@digitalsatori 非常 感谢!!!豁然开朗
-
我估计你的report_result模型是设了类属性
_auto = False,而report_view是定义在init方法中的。如果是这样,那么这个就是Odoo的标准的report定义方法。模型(比如report_result)并不一定要与数据库的表关联,它也可以与SQL View关联(通过上述表述的方式)。SQL View数据库视图并不是普通的数据库表,它本身并不存储数据,它实际就是对数据库表的Sql查询结果集。
@franciewang 在 关于odoo自定义分析报表,数据展示的问题。 中说:
从report_view中查询出结果,然后再插入到report_result中,最终用report_result模型作为报表展示
你对报表数据的运算流程的描述是错误的。如果认为有性能问题,需要提供性能瓶颈的依据,不是靠这样猜测的。
@digitalsatori 我还有两个疑问,请教一下:
-
如果把report_result用init方法 加载,那 是不是 只有升级的时候才会 改动,我希望每次点查询 都可以 执行一下 sql ,然后展现出来,这个可以实现么?
-
不用的用户,要同时进行查询,如果 两个人的查询条件不同,那么对应的 生成数据的 sql 就有所不同,对应生成的 报表会不会 有冲突?
-
-
“数据库视图”(SQL VIEW)也可以理解为“虚拟表”,它是对数据库一个或多个表的查询结果集。结果集的内容会自动根据其查询表的数据的更新而更新。
Odoo的report就是基于这个“虚拟表”的数据根据不同用户所设定的查询条件返回并展示不同的数据结果。
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login