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

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?

アバター
破棄
最善の回答

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.

アバター
破棄
著作者

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

最善の回答

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.

アバター
破棄
著作者

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

関連投稿 返信 ビュー 活動
3
7月 25
8776
1
5月 25
1073
0
1月 24
1768
1
2月 22
23911
5
12月 21
16751