コンテンツへスキップ
メニュー
この質問にフラグが付けられました
1 返信
8461 ビュー

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

アバター
破棄
最善の回答

Computed fields are triggered on save (DB write).

アバター
破棄
著作者

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.

関連投稿 返信 ビュー 活動
1
3月 15
4301
3
9月 24
1454
0
12月 23
1376
0
10月 21
2970
1
7月 21
3750