跳至內容
選單
此問題已被標幟
4 回覆
6720 瀏覽次數

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

頭像
捨棄
最佳答案

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

頭像
捨棄

Yes It's working for me.

作者

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

最佳答案

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.

頭像
捨棄
作者

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.

相關帖文 回覆 瀏覽次數 活動
0
2月 25
1256
0
1月 25
1096
1
12月 24
1385
1
6月 22
5526
1
2月 19
4928