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

I'm trying to create 

currency_id : many2one field on res.currency model  this is the code:

currency_id=fields.Many2one('res.currency')


How can i make it take company currency by default.(readonly)?

Avatar
Vazgeç
En İyi Yanıt

Hi,

You can achieve it easily as follows:


currency_id = fields.Many2one('res.currency', default=lambda self: self.env.company.currency_id, readonly=True)


Thanks & Regards

Walnut Software Solutions

Avatar
Vazgeç
Üretici

What is company ?
is a model?

company is actually the model of 'res.company', but it is made to be a special instance for this purpose
read more at https://www.odoo.com/documentation/15.0/developer/reference/backend/orm.html#environment

En İyi Yanıt

Hello,

In Odoo, you can access the current company object by calling ".company" from the "env" object. For example, "self.env.company" will return the current company. The company object has a field called "currency_id" which contains the default currency ID.

To select the default company in a field, you can use a lambda function. Here's an example:

currency_id = fields.Many2one('res.currency', default=lambda self: self.env.company.currency_id, readonly=True)

Regards

Avatar
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
3
Kas 24
4438
1
Eki 23
2107
2
Tem 23
3792
2
Tem 24
2841
3
Ara 23
3410