- Odoo Development Cookbook
- Holger Brunn Alexandre Fayolle Daniel Reis
- 291字
- 2021-07-16 11:00:33
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 3, Creating Odoo 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 needed 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 we can confirm their addition by inspecting the Model fields in Settings | Technical | Database Structure | Models.
How it works…
Monetary fields are similar to Float fields, but Odoo is able to represent them correctly in the user interface since it knows what their currency is through a second field for that purpose.
This currency field is expected to be named currency_id
, but we can use whatever field name we like as long as it is indicated using the currency_field
optional parameter. You might like to know that the decimal precision for the amount is taken from the currency definition (the decimal_precision
field of the res.currency
model).
- LabVIEW 2018 虛擬儀器程序設(shè)計(jì)
- 嵌入式軟件系統(tǒng)測(cè)試:基于形式化方法的自動(dòng)化測(cè)試解決方案
- Java 開發(fā)從入門到精通(第2版)
- 深入淺出WPF
- Visual C++實(shí)例精通
- React Native Cookbook
- jQuery EasyUI網(wǎng)站開發(fā)實(shí)戰(zhàn)
- SQL語(yǔ)言從入門到精通
- Java:Data Science Made Easy
- Oracle Database 12c Security Cookbook
- 算法訓(xùn)練營(yíng):提高篇(全彩版)
- Mastering JavaScript Design Patterns(Second Edition)
- Visual C#.NET Web應(yīng)用程序設(shè)計(jì)
- Learning Modular Java Programming
- Troubleshooting Citrix XenApp?