İçereği Atla
Menü
Bu soru işaretlendi
5 Cevaplar
48769 Görünümler

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
Vazgeç
En İyi Yanıt

This is so short for getting the current user info:

self.env.user

Avatar
Vazgeç
En İyi Yanıt

@Miftah

under the _defaults you can write the following code

_defaults={

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

}

hope this helps !!

Avatar
Vazgeç

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 )

En İyi Yanıt

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
Vazgeç

thank you very much

En İyi Yanıt

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
Vazgeç
En İyi Yanıt

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

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
1
Mar 15
8574
2
Eyl 21
9808
2
Haz 20
13899
4
Kas 15
6108
1
Mar 15
4874