Development Book V17: Monetary fields

Monetary fields are mainly used for storing the amount in a certain currency. Odoo provides a dedicated feature for monetary values associated with a currency. All amount fields are monetary fields or float fields with monetary widget. Let’s check how to create a monetary field

First create a python file and add the following code

    
        from odoo import api, fields, models
class FeeInherit(models.Model):
_inherit = "school.student"
company_id = fields.Many2one('res.company', store=True, copy=False,
string="Company",
default=lambda self: self.env.user.company_id.id)
currency_id = fields.Many2one('res.currency', string="Currency",
related='company_id.currency_id',
default=lambda
self: self.env.user.company_id.currency_id.id)
feWe can see that on the user interface.
e = fields.Monetary(string="Fee")

In this code, we set the current company currency as the default currency. Next, add an XML file to shows the field on the user interface.

    
        <form>
<sheet>
<group>
<group>
<field name="currency_id" invisible="1"/>
<field name="fee"/>
</group>
</group>
</sheet>
</form>

We can set the fee field as a float field and in the XML file give a widget for fee field as a monetary.

    
        <field name="fee" widget="monetary"/>
    
whatsapp
location

Calicut

Cybrosys Technologies Pvt. Ltd.
Neospace, Kinfra Techno Park
Kakkancherry, Calicut
Kerala, India - 673635

location

Kochi

Cybrosys Technologies Pvt. Ltd.
1st Floor, Thapasya Building,
Infopark, Kakkanad,
Kochi, India - 682030.

location

Bangalore

Cybrosys Techno Solutions
The Estate, 8th Floor,
Dickenson Road,
Bangalore, India - 560042

Send Us A Message