当手头数量小于零时,如何在网站上的产品上自动显示“缺货”?

问题描述

嗨,我正在尝试(在 odoo 10 中),如果手头的产品数量为零,则在网站上显示“缺货”。 当我以管理员身份登录时,以下代码工作正常,但在普通网站访问者的情况下,它会给出“500:内部服务器错误” 请问有什么解决办法吗? Screenshot

解决方法

发生这种情况是因为 qty_available 是一个调用 _compute_quantities 方法的函数字段。此方法访问不同的模型,因此当没有用户或没有必要权限的用户进入时,odoo 会引发 AccessError

为了解决这个问题,让我们通过 sudo()

访问该字段
<t t-if="product.sudo().qty_available &lt;= 0">
    <div class="ribbon-wrapper out-of-stock" style="display: inherit !important;">
        <div class="ribbon btn btn-danger">Out of Stock</div>
    </div>
</t>