2016-02-05 152 views
0

我想問一下Odoo many2one字段。Odoo名稱在many2one字段的下拉列表中

在 'test.project.name' 的模式,有3個字段:

  • prj_id
  • 積極使用

其他兩個型號「test.project.name 'with many2one field:

'project_id':fields.many2one('test.project.name','Project Name'), 

那時視圖會顯示'test.project.name'模型的名稱字段數據。 一個模型是好的,但我想顯示從'test.project.name'提交的prj_id的數據。

我可以這樣嗎?

如果您不介意,請分享一些想法。

謝謝。

+0

你的問題不太清楚。請嘗試通過正確的描述深入解答您的問題。 –

回答

1

如果您需要系統中所有many2one('test.project.name')的新名稱,請覆蓋方法name_get。爲了您的模型它會是這樣(您使用舊的API):

class TestProject(osv.Model): 
    _name = 'test.project.name' 

    def name_get(self, cr, uid, ids, context): 
     res = [] 
     for record in self.browse(cr, uid, ids, context=context): 
      # As I understood prj_id it is many2one field. For example I set name of prj_id 
      res.append((record.id, record.prj_id.name)) 
     return res 

如果需要使用特定的字段自定義名稱可以使用context打電話給你的自定義的方法是這樣的:

<!-- in your view.xml --> 
<field name="project_id" widget="selection" context="{'compute_name': '_get_my_name'}"/> 

型號必須如下所示:

此解決方案還有一件事。

只有當您使用widget="selection"時,此方法才能正常工作。否則,您的自定義名稱將僅用於下拉菜單中的項目,但選定的值將使用默認名稱。

相關問題