Hello!
Did you ever find yourself to be in a place where you got an external module to work but it is taking way too much of time to activate / or get installed?
what to do in this situation ?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- 客户关系管理
- e-Commerce
- 会计
- 库存
- PoS
- Project
- MRP
此问题已终结
Hi,
If the module is adding any stored compute field to any of the existing model, which has a huge data, this issue will be happening, it is the time taken for computing and storing the value.
To confirm if this is what happening with you, you can check and see the odoo log, it will be something like "Storing value............" in the log.
In order to speed up this, you have to add the field to the db table from the auto_init and set the needed value for the field.
Example:
def _auto_init(self):
"""
Create column to stop ORM from computing it himself (too slow)
"""
if not column_exists(self.env.cr, 'sale_order_line', 'is_service'):
create_column(self.env.cr, 'sale_order_line', 'is_service', 'bool')
self.env.cr.execute("""
UPDATE sale_order_line line
SET is_service = (pt.type = 'service')
FROM product_product pp
LEFT JOIN product_template pt ON pt.id = pp.product_tmpl_id
WHERE pp.id = line.product_id
""")
return super()._auto_init()
Thanks
相关帖文 | 回复 | 查看 | 活动 | |
---|---|---|---|---|
|
2
7月 20
|
3596 | ||
|
1
1月 20
|
2043 | ||
|
1
12月 19
|
3126 | ||
|
0
2月 16
|
3620 | ||
|
2
3月 15
|
7798 |