如何解决Odoo 14 条码模块使用 get_all_products_by_barcode 方法性能不佳
我目前正在使用 odoo 14 中的条形码模块来扫描产品的条形码。但是,每次点击订单时,模块加载速度都非常慢。
我发现这一切都是 get_all_products_by_barcode 方法造成的。我的数据库有 64000 个产品,仅该方法每次查询和返回所有产品都需要将近 50 秒。
有没有人有解决方案? 谢谢。
function Feed() {
const list = ["icon","test","splash"];
return (
<View style={{ flex: 1,justifyContent: 'center',alignItems: 'center' }}>
<Text>Feed!</Text>
<TouchableOpacity
style={{
alignItems: "center",justifyContent: "center",width: 200,height: 50,backgroundColor: "green"
}}
onPress={
() => {
deviceeventemitter.emit("ADD_COUNT")
}
}
>
<Text>add</Text>
</TouchableOpacity>
{
list.map((name) => {
return (
<Image
source={Images[name]}
style={{ width: 100,height: 100 }}
/>
)
})
}
</View>
);
}
解决方法
products_qry = """SELECT pp.id,pp.barcode,pt.name,pt.uom_id,pt.tracking
FROM product_product pp
JOIN product_template pt ON pt.id = pp.product_tmpl_id
WHERE pp.barcode <> '' and pt.type <> 'service'"""
self.env.cr.execute(products_qry)
products = self.env.cr.dictfetchall()
"""
products = self.env['product.product'].search_read(
[('barcode','!=',None),('type','service')],['barcode','display_name','uom_id','tracking']
)
"""
packagings_qry = """SELECT pp.barcode,pp.product_id,pp.qty
FROM product_packaging as pp
WHERE pp.barcode <> '' and pp.product_id <> NULL
"""
self.env.cr.execute(packagings_qry)
packagings = self.env.cr.dictfetchall()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。