Skip to Content
Menu
This question has been flagged
5 Replies
49049 Rodiniai

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?

Portretas
Atmesti
Best Answer

This is so short for getting the current user info:

self.env.user

Portretas
Atmesti
Best Answer

@Miftah

under the _defaults you can write the following code

_defaults={

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

}

hope this helps !!

Portretas
Atmesti

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 )

Best Answer

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.

Portretas
Atmesti

thank you very much

Best Answer

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.

Portretas
Atmesti
Best Answer

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

Portretas
Atmesti
Related Posts Replies Rodiniai Veikla
1
kov. 15
8660
2
rugs. 21
9949
2
birž. 20
14023
4
lapkr. 15
6230
1
kov. 15
4975