Skip to Content
Menu
This question has been flagged
1 Atsakyti
3717 Rodiniai

What i have understood so far is:

1. 'qty_available' is a computed field: which means it will not be called unless it is loaded from view

2. 'api.depends' can only be used on computed field

3. maybe "store=True" on qty_available will work but I feel a bit risky, its odoo base field so maybe it will break

4. override 'write' function is kinda overkill

My goal is really simple, I want to trigger a function when qty_available (Quantity on hand) of a product changes, what should I do? I dont know if 'stock.quant' has anything to do with it

Portretas
Atmesti

supering the action_done of stock move will help you in this case ?

Best Answer

Hi,

You can super the compute function for that qty_available field by inheriting the model and you can call a new function inside that compute function, and you can define the function inside that model so that whenever that compute function is called the new function will be automatically triggered.
Please refer to the following code:
from odoo import fields, models


class ProductTemplate(models.Model):
    _inherit = 'product.template'

    def _compute_quantities(self):
        super(ProductTemplate, self)._compute_quantities()
        self.my_function()
   
    def my_function(self):
        print("This function will calls when compute function works")


Hope it helps

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
2
rugp. 22
2522
1
geg. 22
2958
0
rugp. 17
5475
2
kov. 15
6503
2
saus. 24
3245