Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
4 Trả lời
21190 Lượt xem

How I can get the current user partner_id in xml  (uid.partner_id)

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Hi Isio-odoo,

For getting partner_id of current user in from view, you need to create a new field in you model like...

partner_id = fields.Many2one('res.partner','Customer', default=lambda self: self.env.user.partner_id)

And see the magic of new api...(There are many ways to do this...)

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

isio

You can simply create functional field as:

partner_id = fields.Many2one('res.partner', compute='_get_partner', 'Partner')

and after that:

@api.depends('partner_id')
def _get_partner(self):
     partner = self.env['res.users'].browse(self.env.uid).partner_id
     for rec in self:
        rec.partner_id = partner.id

then in xml, add this field...

<field name="partner_id" />


Hope this helps you !

Ảnh đại diện
Huỷ bỏ

Hello Pawan, There is no need to browse for getting the user record. You can directly get it as below. @api.depends('partner_id') def _get_partner(self): for rec in self: rec.partner_id = self.env.user.partner_id.id Thank you.

Thanks @Burhan for the update! :) @isio, you can follow Burhan as per update ...