Ir al contenido
Menú
Se marcó esta pregunta
4 Respuestas
6714 Vistas

Hello,
How can Odoo store field's data if the field has property "Store=False" ?


I have the example with property_account_income_id and property_account_expense_id , it is the bond between a product_template and an account when I install Accounting module

it is not stored in the database but it stand in odoo therefore. 

Is it in cache ? 

Is it in the object ? if it is in the object it should disapear if the server is rebooted ?

Thank you

Avatar
Descartar
Mejor respuesta

Do it "Store=False" to "Store=True"

Avatar
Descartar

Yes It's working for me.

Autor

@Muhammad Imran Yes sure, it will write in the database, but my question is How it is stocked if store is at false ?

Mejor respuesta

You are correct. The environment also stores caches.

I'm not sure at 100%, but non-stored fields, as transient models, are not stored in the DB but they stand for a while.
What I usually do is, in the case of transient models, when i create some records on it, remove them right after use them (for instance, when you want to recalculate the records from scratch).

So you could do the same on temporary-stored fields: once they are computed, set them to false.

Avatar
Descartar
Autor

Ok so you says if it's not stored in the BD it's stored in the cache, but this cache is never reseted ?

After I saw your answer I have checked the models and it's "class ProductTemplate(models.Model):" (not a transient model)

sorry I think i've missunderstood what you said.

What I said about Transient models was just an example.

About non-stored fields, for sure they are not stored in the DB, but they are 'computed' and returned everytime when requested. So you could think the value will dissapear if your server is rebooted or your cache is cleared, but fortunately the value is recalculated everytime you load the related model.

Publicaciones relacionadas Respuestas Vistas Actividad
0
feb 25
1256
0
ene 25
1096
1
dic 24
1385
1
jun 22
5526
1
feb 19
4928