Reputation: 497
What Exactly is Wrong?
I am trying to run the code and i am getting below error
I have attached the traceback.
Server Traceback (most recent call last):
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\openerp\addons\web\session.py", line 89, in send
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\netsvc.py", line 296, in dispatch_rpc
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\service\web_services.py", line 626, in dispatch
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\osv\osv.py", line 190, in execute_kw
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\osv\osv.py", line 132, in wrapper
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\osv\osv.py", line 199, in execute
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\osv\osv.py", line 187, in execute_cr
File "C:\Program Files (x86)\OpenERP 7.0-20141009-011214\server\.\openerp\osv\orm.py", line 1610, in default_get
TypeError: _get_category() takes at least 6 arguments (4 given)
def _get_category(self, cr, uid, ids, field_names, arg, context=None):
category_obj = self.pool.get('module.category').browse(cr, uid, category_id)
return {'value': {'category_id': category_obj.name}}
_name ='module.level'
_description ="Module Level"
_columns = {
'name':fields.char('Level', size=20),
'category_id':fields.function(_get_category,type='many2one',obj="module.category",method=True,string='Session'),
Upvotes: 0
Views: 650
Reputation: 887
Check indentation, your _name and _description indentation is looks wrong.
you can write code like this
def _get_category(self, cr, uid, ids, field_names, arg, context=None):
# Your Logic
# I need to know where is category_id ??
_name = 'module.level'
_description = "Module Level"
_columns = {
'name': fields.char('Level', size=20),
'category_id': fields.function(_get_category, type='many2one', relation="module.category", method=True, string='Session'),
}
Upvotes: 0
Reputation: 11143
You are passing wrong parameter to function.
Try with this code:
def _get_category(self, cr, uid, ids, field_names, arg, context=None):
#function logic
return
Upvotes: 1