簡體   English   中英

如何在odoo 9中存儲當前登錄的用戶ID或活動用戶ID?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM