2016-12-25 10 views
0

経費で誰もが費用リストを承認しなければならない、私は承認されたユーザーを表示したいですか?現在ログインしているユーザーIDまたはアクティブユーザーIDをodoo 9に格納する方法は?

私はちょうどここでは、すべてのユーザーが表示されますone2many

approved_by=fields.Many2one('res.users','Approved By') 
XMLで

<field name="approved_by" /> 

としてすべてres.usersを選択します。しかし、私はログに記録されたユーザーのみを表示したいので、デフォルトとして選択する必要があります。

答えて

2

環境には、ORMで使用されるさまざまなコンテキストデータが格納されます。詳細についてはOdoo Environment

次のコードを試してください。

approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.user) 

EDIT

次のコードでは、我々はまた、ユーザーIDを取得することができます。

approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.uid) 
+1

もし私がself.env.user.idに働いてくれてありがとう... – Mani

4

あなたはフィールドだけの設定/変更、編集したい場合は、デフォルト値はself.env.uid

def get_user_id(self): 
    return self.env.uid 

approved_by=fields.Many2one('res.users','Approved By', default=_get_user_id) 

にアクセスすることができ、現在のユーザーのIDを返す関数になり、フィールドのデフォルト値を定義します。 readonly=True

+0

ありがとうdanidee ... – Mani