Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
5 Replies
49059 Tampilan

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
Buang
Jawaban Terbai

This is so short for getting the current user info:

self.env.user

Avatar
Buang
Jawaban Terbai

@Miftah

under the _defaults you can write the following code

_defaults={

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

}

hope this helps !!

Avatar
Buang

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 )

Jawaban Terbai

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
Buang

thank you very much

Jawaban Terbai

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
Buang
Jawaban Terbai

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

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
1
Mar 15
8662
2
Sep 21
9951
2
Jun 20
14031
4
Nov 15
6233
1
Mar 15
4979