many2one functional field not supported in view

Asked by Kyle Waid

I tried to create a many2one functional field

        'refund_ids_list': fields.function(_get_payments_for_refund, type='many2one', relation='account.voucher', string="stuff", method=True, store=False)

I put this field in the view.

I cannot load the view. It appears that these types of fields are not supported in a view

Server Traceback (most recent call last):
  File "/usr/local/openerp/web/addons/web/common/http.py", line 593, in send
    return openerp.netsvc.dispatch_rpc(service_name, method, args)
  File "/usr/local/openerp/openerp-server/openerp/netsvc.py", line 360, in dispatch_rpc
    result = ExportService.getService(service_name).dispatch(method, params)
  File "/usr/local/openerp/openerp-server/openerp/service/web_services.py", line 586, in dispatch
    res = fn(db, uid, *params)
  File "/usr/local/openerp/openerp-server/openerp/osv/osv.py", line 167, in execute_kw
    return self.execute(db, uid, obj, method, *args, **kw or {})
  File "/usr/local/openerp/openerp-server/openerp/osv/osv.py", line 121, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/local/openerp/openerp-server/openerp/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/local/openerp/openerp-server/openerp/osv/osv.py", line 164, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/local/openerp/openerp-server/openerp/osv/orm.py", line 3416, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/usr/local/openerp/openerp-server/openerp/osv/orm.py", line 3542, in _read_flat
    record[f] = res2[record['id']]
KeyError: 13

Question information

Language:
English Edit question
Status:
Answered
For:
Odoo Server (MOVED TO GITHUB) Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
Launchpad Janitor (janitor) said :
#1

[Expired for OpenERP Server because there has been no activity for 60 days.]

Revision history for this message
Serpent Consulting Services (serpent-consulting-services) said :
#2

Kyle,

This works good. You might need to correct your method(of functional field).

Thanks.

Revision history for this message
filsys (office-filsystem) said :
#3

May help you:
In 6.1 I use:
 'refund_ids_list': fields.function(_get_payments_for_refund, type='many2one', obj='account.voucher', string="stuff", method=True, store=False)

for 'many2one' function field relation is definned with 'obj'.
for 'one2many', 'related' or 'many2many' relation is defined with 'relation'.

For 7.0 I don't know.

Can you help with this problem?

Provide an answer of your own, or ask Kyle Waid for more information if necessary.

To post a message you must log in.