Ir al contenido
Menú
Se marcó esta pregunta
5 Respuestas
48681 Vistas

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?

Avatar
Descartar
Mejor respuesta

This is so short for getting the current user info:

self.env.user

Avatar
Descartar
Mejor respuesta

@Miftah

under the _defaults you can write the following code

_defaults={

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

}

hope this helps !!

Avatar
Descartar

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 )

Mejor respuesta

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.

Avatar
Descartar

thank you very much

Mejor respuesta

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.

Avatar
Descartar
Mejor respuesta

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

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
1
mar 15
8528
2
sept 21
9739
2
jun 20
13816
4
nov 15
6074
1
mar 15
4793