İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
4713 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
4902
1
Eki 23
2391
2
Tem 23
4315
2
Tem 24
3196
3
Ara 23
3900