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

The email_template model has a field partner_to which is a comma separated char list of partners that will get emailed. I would like to display their names.

<tree string="Scheduled Emails">
  <field name="partner_to" eval="obj.partner_names()">
</tree>

But in my tree view it just displays the value of the field. If I change the name to a custom name it errors saying the field doesn't exist. What's the correct way of doing this?

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

You can create a function field that returns what you need and then include that field in the view.  So, in your case, first create the method:

def partner_names(self, cr, uid, ids, name, args, context=None)

    res = {}

    for _obj in self.browse(cr, uid, ids, context=None):

      res[_obj.id] = ....

    return res

Note that the signature of the method must be as I have described and the return value must be a dictionary whose key is each id that is being processed and the value is the value to return.

In the _columns, you add:

'partner_to_names': fields.function(partner_names, type='text', string='Partner Names')

Then use the field (partner_to_names) in the view.

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

Ah cool, that solved a separate search issue I was having too. Thanks.

Câu trả lời hay nhất

Does anyone konw a way to create a generic tree and load it with custom data. Lets say we can make an empty grid and on load of a recors do a select and loat the grid with anything we want. Whith this I mean, doing this without creating a model for the data in the grid? Thx.

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

You should create a separate question if you want an answer to that, but you should be able to use a TransientModel.

Bài viết liên quan Trả lời Lượt xem Hoạt động
3
thg 7 25
8783
1
thg 5 25
1075
0
thg 1 24
1769
1
thg 2 22
23914
5
thg 12 21
16753