小编Emi*_*td.的帖子

在超级调用中使用with_context会变成odoo中的无限调用

在odoo上下文字典被冻结,所以没有人可以更新它,因为一个解决方案也是可用的调用方法with_context.

ctx = self.env.context.copy()
ctx.update({'additional_parameter' : value})
self.with_context(ctx).methodname()
Run Code Online (Sandbox Code Playgroud)

但是当我们使用相同的模式来调用super方法时,结果会转变为无限调用.

ctx = self.env.context.copy()
ctx.update({'additional_parameter' : value})
super(product_product, self).with_context(ctx).create(vals)
Run Code Online (Sandbox Code Playgroud)

任何帮助将受到高度赞赏.

openerp odoo odoo-8

6
推荐指数
1
解决办法
2909
查看次数

当数据库中存在大量数据时,Odoo变慢的原因

我们在Postgresql中发现了一个问题,因为它不使用多核CPU进行单个查询.例如,我在cpu中有8个核心.我们在stock.move表中有4000万条目.当我们在单个数据库连接中应用大量查询以在后端生成报告和观察时,我们看到只有一个核心被100%使用,其中所有其他核心都是免费的.由于查询执行时间过长,我们的odoo系统变慢.而问题出在postgresql核心内部.无论如何,我们可以在两个或更多内核之间共享查询,而不是在postgresql查询执行中获得性能提升.

我相信通过解决并行查询执行,我们可以更快地使Odoo性能.任何人都对此有任何建议?

-----------*编辑这个问题,向你展示Postgresql核心委员会的回答*---------

在这里,我发布了我从Postgresql数据库的顶级贡献者之一得到的答案.(我希望这些信息有用)

你好Hiren,

预计会有所表现.PostgreSQL不支持单个查询的并行CPU.这个主题正在高度发展,可能这个功能将在2016年9月9日〜2016年9月计划发布.但是40M行的表不是太大,所以可能更多的CPU不应该对你有所帮助(启动时会有一些开销)并处理多CPU查询).你必须使用一些常见的技巧,如物化视图,预览,......这些技巧的主要思想 - 不要试图重复经常相同的计算.检查PostgreSQL的健康状况 - 索引,真空处理,统计,...检查hw - IO的速度.检查PostgreSQL配置 - shared_buffers,work_mem.由于估计错误,某些查询可能会很慢 - 请查看慢速查询的解释.有些工具可以将一些查询分解为更多查询并启动并行执行,但我没有使用它.https://launchpad.net/stado http://www.pgpool.net/docs/latest/tutorial-en.html#parallel

关心Pavel Stehule

database postgresql performance odoo

5
推荐指数
1
解决办法
1万
查看次数

隐藏One2many字段有条件地Odoo/OpenERP

我正在Odoo 8.0设置的客户部分中创建一个名为Master Account的选项.如果选中,则会将另一个帐户设置为祖父母.这对于拥有多个位置但只有一个结算中心的公司/客户非常有用.我能够应用此功能,但现在我不想显示将主帐户设置为已设置为某人主人的公司的选项.

我尝试过以下内容并不起作用:

蟒蛇

from openerp import models, fields, api, _

class res_partner(models.Model):
    _inherit = 'res.partner'

    related_partner_id = fields.Many2one('res.partner', 'Master Account')
    related_partner_ids = fields.One2many('res.partner', 'Master Account')
Run Code Online (Sandbox Code Playgroud)

XML

<?xml version="1.0" ?>
<openerp>
    <data>
        <record model="ir.ui.view" id="base_view_partner_demo_inherit">
            <field name="name">res.partner.form.demo</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.view_partner_form" />
            <field name="arch" type="xml">
                <field name="website" position="after">
                    <field name="related_partner_id" attrs="{'invisible': [('related_partner_ids','>', '0')]}"/>
               <field name="related_partner_ids"  invisible="1"/>
               <label string="Master Account" attrs="{'invisible': [['related_partner_id', '!=', False]]}"/>
                </field>
            </field>
        </record>


    </data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.我是Odoo的新手.

python xml openerp odoo-8

3
推荐指数
1
解决办法
2686
查看次数

Odoo-v9安装

我已经成功安装了odoo-9,但我认为需要安装更多的软件包,因为odoo-9依赖于无节点.

问题:

安装odoo-9屏幕后不会完全渲染,所以任何人都知道这种情况发生的原因?

没有更多的帮助可用于odoo-9及其依赖包.

已经评审过了:

Ubuntu Server 14.04 LTS上的odoo 9

Odoo论坛

installation odoo

3
推荐指数
1
解决办法
1112
查看次数

在odoo v9中关闭向导后显示成功消息

在odoo 9中关闭向导后显示成功消息的最佳解决方案是什么?

右下角的任何小弹出窗口?

openerp odoo-9 odoo-10

3
推荐指数
1
解决办法
2985
查看次数

Magento - 在非对象上调用成员函数createBlock()

简而言之,我在添加新的编辑选项卡后,在Magento的产品管理中收到此错误.

Fatal error: Call to a member function createBlock() on a non-object in
/var/www/app/code/local/RedoxStudios/ErpTab/Block/Adminhtml/Catalog/Product/Tab.php
on line 11
Run Code Online (Sandbox Code Playgroud)

我在我的代码中有这个:

<?php
class RedoxStudios_ErpTab_Block_Adminhtml_Catalog_Product_Tab
extends Mage_Adminhtml_Block_Template
implements Mage_Adminhtml_Block_Widget_Tab_Interface {

    /*
     * Set the template for the block
     */
    public function __construct() {
        parent::__construct();
        $this->getLayout()->createBlock('Purchase/Product_Widget_StockDetails_Summary');
        $this->setProduct($this->getProduct());
        $this->setTemplate('Purchase/Product/StockDetails/Summary.phtml');
    }

    /**
    * Return current product instance
    *
    * @return Mage_Catalog_Model_Product
    */

    public function getProduct()
    {
        return Mage::registry('product');
    }
}
Run Code Online (Sandbox Code Playgroud)

以前我只能调用createBlock函数.我是否忽略了一些让我无法调用此功能的东西?


Summary.phtml:

<div class="stock-details-summary">

<table border="0">
    <tr>
        <td class="a-right"><?php echo $this->__('Waiting for delivery'); ?> : </td>
        <td …
Run Code Online (Sandbox Code Playgroud)

magento

2
推荐指数
1
解决办法
7391
查看次数

删除列不会完全删除列引用 - postgresql

我有一个包含 1600 列的表,想在其中添加更多字段,但根据数据库规则,不允许创建更多字段,因为达到了上限。

所以我决定从表中删除一些不需要的字段,并且我做到了。我再次尝试在该表中添加几个字段,但它引发了同样的错误,即有 1600 列,您无法添加更多列。

我浏览了 postgresql“ pg_attribute ”的其他表,所有这些字段都在那里并且删除参数= True。

到目前为止我已经尝试过的

删除约束 将表数据放入另一个表 截断表 重新创建约束 将数据重新复制到主表。

但删除的列仍然存在于 pg_attributes 表中。

我还尝试从pg_attribute中删除该记录,但随后它给了我这样的错误。

ERROR:  catalog is missing 1 attribute(s) for relid 208996

********** Error **********

ERROR: catalog is missing 1 attribute(s) for relid 208996
SQL state: XX000
Run Code Online (Sandbox Code Playgroud)

为什么我们有这么多列的原因是

我们有 odoo-magento (odoo 使用的 postgresql 数据库)集成,在 magento 中有超过 60000 个产品并具有 3000 个唯一属性,因此在连接器中,所有这些属性都创建为产品表中的字段,并且我已经同步了 magento -> odoo产品数量达到1600个上限。现在我不允许从该表中删除字段。

我已经在 magento-odoo 连接器中解决了这个问题,它只会同步所需的属性,但我应该对已经同步的字段做什么,如何删除它???

即使删除一张桌子也不是一个正确的方法,因为它是巨大且非常重要的桌子,所以我可以冒任何风险。

我想做的事

我想简单地从表中删除这些列,并且需要添加一些其他列。

对于这个问题还有其他可能的解决方案吗?

任何帮助将非常感激。

postgresql alter-table postgresql-9.1

2
推荐指数
1
解决办法
5087
查看次数

如何添加用于直接打印报告而不是在odoo中按ctrl + shift + p的打印按钮?

我正在打印报告,该报告将首先下载报告或直接按ctrl + hift + p进行打印。如何添加直接打印报告而不是按Ctrl + Shift + P的按钮?

openerp odoo-9 odoo-10

2
推荐指数
1
解决办法
2535
查看次数

Odoo 10:在可编辑的树视图中打开表单视图

我在Odoo 10中创建了一个新模型.该模型通过菜单项访问,该菜单项启动树视图.

树视图是可编辑的,但我希望能够启动用户想要编辑的特定记录用户正在编辑的表单视图.

是否有任何选项可以在树视图中放置一个按钮来启动表单视图?有人可以突出显示所需的步骤或指向类似的代码示例吗?

谢谢,

openerp odoo-10

2
推荐指数
1
解决办法
4057
查看次数