Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
8456 Visualizzazioni

Hi, 

I am learning how to use the compute field under Odoo v8. The example in the docs looks clear and it seems pretty easy, but no mather what I do it doesn't seem to get triggered.

This is the most basic example I am testing which is not working for some reason:

        'total_units': fields.char(compute='_compute_total',string='Number of Units'),
    

    @api.one
    def _compute_total(self):
        print "Show this if triggered"
        self.total_units = 23

For this basic example I was looking to see a '23' on the total_units field, but nothing happens.

Shouldn't _compute_total be triggered each time the tree view is opened? What I am missing?

Any help will be appreciated,

Thanks

Avatar
Abbandona
Risposta migliore

Computed fields are triggered on save (DB write).

Avatar
Abbandona
Autore

Hi, thanks. I read in the docs that "computed fields are not stored by default, they are computed and returned when requested. Setting store=True will store them in the database and automatically enable searching" So my understanding was that I can run a compute field if I need results "on the fly". if this is not the case, what type of field can I use to get results on the fly under V8? Thanks so much for your help

You can overwrite read method of your model and change return value for desired field.

Post correlati Risposte Visualizzazioni Attività
1
mar 15
4297
3
set 24
1443
0
dic 23
1368
0
ott 21
2957
1
lug 21
3743