Odoo Help


Redefinition of Function Field in api v8

Peter Mayer
on 2/12/16, 5:14 AM 1,204 views

Hi guys, i need your help with the redefinition of following function fields. I don't really get behind the store parameter in the 'amount' field. Any help or hints appreciated.

def _amount(self, cr, uid, ids, field_name, arg, context=None):

res= {}

for expense in self.browse(cr, uid, ids, context=context):

total = 0.0

for line in expense.line_ids:

total += line.unit_amount * line.unit_quantity

res[expense.id] = total

return res

def _get_expense_from_line(self, cr, uid, ids, context=None):

return [line.expense_id.id for line in self.pool.get('hr.expense.line').browse(cr, uid, ids,


'amount': fields.function(_amount, string='Total Amount', digits_compute=dp.get_precision('Account'),


'hr.expense.line': (_get_expense_from_line, ['unit_amount','unit_quantity'], 10)


Hi Prashant thank you for your answer. Unfortunately i can't answer you under your comment. I think you got me wrong. I want to translate this code from old api to new api and i'm stuck on the store parameter of the 'amount' field.

Peter Mayer
on 2/12/16, 7:28 AM

Olivier Dony (odo)

--Olivier Dony (odo)--

| 7 6 8
Ramilies, Belgium
--Olivier Dony (odo)--


Olivier Dony (odo)
On 2/15/16, 4:15 AM

Peter, the declaration of computed fields in the new API is explained in the documentation.

Using the new syntax the old `store` dictionary becomes simply `store=True` with an appropriate `@api.depends` decorator on the function implementing the field. The dependencies declared in this manner act as recompute triggers.

Here is an example in the 9.0 source code.

Not sure that's the info you were looking for, though.


Axel Mendoza

--Axel Mendoza--
| 7 8 8
Camaguey, Cuba
--Axel Mendoza--

DevOps - Full stack - Software Architect - Developer - Technology Integrator

I could help you to develop anything and solve complex problems based on technologies, integrations and tricky stuffs mostly in Python with OpenERP/Odoo, Zato, Django and many others frameworks programming languages and technologies.

I offers consulting services to anyone with an unanswered questions or needs for customizations. Think about it, maybe it's better to have an expert to solve your issues and projects than having a full-time employee trying to understand what to do and how

Reach me at aekroft@gmail.com

Axel Mendoza
On 2/12/16, 12:25 PM

As long as I know you will not be able to translate that into the new api, the store value dict is not supported anymore in favor of the @api.depends and @api.onchange, but I couldn't find the flexibility of the store with a value dict with triggers. Maybe @fpodoo or @odony or someone that works for Odoo could bring some light to this


i think type is missing in your field defining like type= float or char etc.

Otherwise every thing is fine.

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 2/12/16, 5:14 AM
Seen: 1204 times
Last updated: 7/23/16, 3:42 AM