Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3645 Lượt xem

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.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

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.

Ảnh đại diện
Huỷ bỏ
Tác giả

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.

Tác giả

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.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 8 25
4581
0
thg 12 24
9705
3
thg 9 24
21986
5
thg 12 24
53407
4
thg 7 24
10830