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

Hello,

I need to calculate a field in a view for display only, just for information. I mean, this field is just to display a sum in the view. There exists some way of putting a field in the view form, without reference it on the class.

Thanks.

アバター
破棄
最善の回答

You need to use functional field for this kind of requirement .

Example:

def _function(self, cr, uid, ids, field_name, field_value, arg, context=None):
        records = self.browse(cr, uid, ids)
        result = {}
        for r in records:
            str = ''
            if r.col1:
                str += r.col1
            if r.col2: 
               str += r.col2
            result[r.id] = str
        return result

_columns = {

    'col1': fields.char('Coloumn 1', size=5, required=True),
    'col2': fields.char('Coloumn 2', size=10, required=True),
    'col3': fields.function(_function, type='char', obj='basic.fldfunct', method=True, store=False, string='Column 3'),
                    }

In Views :

<field name="col1"/>
<field name="col2"/>
<field name="col3"/>

This is the simplest example of the Functional field.Hope this may help you.

アバター
破棄
著作者

Thanks for your answer. It seems that I do not explain correctly. In this example you have to declare the tree fields in the class ( columns = { ... ). My question was, there's any way to have a display field in a view without declare it in a class?

No, there is no such way in any framework I have work so far. Django,Ruby on Rails, Openerp7.

著作者

I really thanks the help that you have giving me. Maybe you could see my other post that have no answer yet, The post number 25533, thanks again.

関連投稿 返信 ビュー 活動
1
8月 25
4581
0
12月 24
9707
3
9月 24
21992
5
12月 24
53416
4
7月 24
10838