Перейти к содержимому
Меню
Чтобы взаимодействовать с сообществом, необходимо зарегистрироваться.
Этот вопрос был отмечен
5 Ответы
48899 Представления

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?

Аватар
Отменить
Лучший ответ

This is so short for getting the current user info:

self.env.user

Аватар
Отменить
Лучший ответ

@Miftah

under the _defaults you can write the following code

_defaults={

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

}

hope this helps !!

Аватар
Отменить

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 )

Лучший ответ

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.

Аватар
Отменить

thank you very much

Лучший ответ

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.

Аватар
Отменить
Лучший ответ

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

Аватар
Отменить
Related Posts Ответы Просмотры Активность
1
мар. 15
8604
2
сент. 21
9854
2
июн. 20
13974
4
нояб. 15
6171
1
мар. 15
4936