[英]How to store the current logged user id or active user id in odoo 9?
在費用方面,任何人都必須批准費用列表,我想顯示哪個用戶被批准了?
我只選擇所有res.users作為一個
approved_by=fields.Many2one('res.users','Approved By')
在XML中
<field name="approved_by" />
在這里它將顯示所有用戶。 但是我只想顯示登錄的用戶,因此必須將其選擇為默認用戶。
在該字段上定義一個默認值,該默認值將是一個返回當前用戶ID的函數,可以使用self.env.uid
進行訪問
def get_user_id(self):
return self.env.uid
approved_by=fields.Many2one('res.users','Approved By', default=_get_user_id)
如果要編輯/更改字段,只需設置readonly=True
環境存儲ORM使用的各種上下文數據。 有關更多詳細信息, Odoo環境
嘗試以下代碼。
approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.user)
編輯
通過以下代碼,我們還可以獲得用戶ID。
approved_by = fields.Many2one('res.users','Approved By', default=lambda self: self.env.uid)
您可以使用以下代碼:
context = self._context
current_uid = context.get('uid')
user = self.env['res.users'].browse(current_uid)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.