تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
5 الردود
48938 أدوات العرض

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)

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
مارس 15
8615
2
سبتمبر 21
9864
2
يونيو 20
13992
4
نوفمبر 15
6199
1
مارس 15
4957