Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
5 Odpowiedzi
48789 Widoki

I have a field many2one relation to res.users like this : 'salesman':fields.many2one('res.users', string='Salesman').

I want default value it field is current user ID (current login) like Administrator, Custom User, etc. How to do it?

Awatar
Odrzuć
Najlepsza odpowiedź

This is so short for getting the current user info:

self.env.user

Awatar
Odrzuć
Najlepsza odpowiedź

@Miftah

under the _defaults you can write the following code

_defaults={

'salesman':lambda self, cr, uid, ctx=None: uid

}

hope this helps !!

Awatar
Odrzuć

In the 8.0 API this would be something like this: salesman = fields.Many2one( string="Salesman", comodel_name='res.users', default= lambda self: self.env.user.id )

Najlepsza odpowiedź

Hello,

You can use below code.

context = self._context

current_uid = context.get('uid')

user = self.env['res.users'].browse(current_uid)

Hope this help you.

Best Thanks,

Ankit H Gandhi.

Awatar
Odrzuć

thank you very much

Najlepsza odpowiedź

Why don't you take a look at sale.order model from odoo/addons/sale/sale.py.  It has user_id defined which - AFAIK - mimics what you need.  It uses _default as well as @Emipro had suggested.

Awatar
Odrzuć
Najlepsza odpowiedź

salesperson = fields.Many2one('res.users', string="Salesperson", default=lambda self: self.env.user)

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
1
mar 15
8578
2
wrz 21
9812
2
cze 20
13913
4
lis 15
6129
1
mar 15
4888