Adding a monetary field to a Model
Odoo has special support for monetary values related to a currency. Let's see how to use it in a model.
Getting ready
We will reuse the my_module
addon module from Chapter 4,Creating Odoo Addon Modules.
How to do it...
The monetary field needs a complementary currency field to store the currency for the amounts.
The my_module
already has a models/library_book.py
defining a basic model. We will edit this to add the required fields:
- Add the field to store the currency that is to be used:
class LibraryBook(models.Model): # ... currency_id = fields.Many2one( 'res.currency', string='Currency')
- Add the monetary field to store our amount:
class LibraryBook(models.Model): # ... retail_price = fields.Monetary( 'Retail Price', # optional: currency_field='currency_id', )
Now, upgrade the addon module, and the new fields should be available in the Model. They won't be visible in views until they are added to them, but...