I defined a function field as follows
centers = fields.Function(
fields.One2Many(
'exam.centers',
'center_hidden',
'List of centers'
),
'on_change_with_centers'
)
and wrote ‘on_change_with_centers’ as follows
@fields.depends('exam')
def on_change_with_centers(self, name=None):
if self.exam and self.exam.centers:
return self.exam.centers
But on starting the server the server gives out the following error
Traceback (most recent call last):
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/Werkzeug-0.15.2-py3.6.egg /werkzeug/serving.py", line 302, in run_wsgi
execute(self.server.app)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/Werkzeug-0.15.2-py3.6.egg/werkzeug/serving.py", line 290, in execute
application_iter = app(environ, start_response)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/trytond-5.0.8-py3.6.egg/trytond/wsgi.py", line 121, in __call__
return self.wsgi_app(environ, start_response)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/trytond-5.0.8-py3.6.egg/trytond/wsgi.py", line 127, in __call__
return self.app(environ, start_response)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/trytond-5.0.8-py3.6.egg/trytond/wsgi.py", line 100, in wsgi_app
response = cls.response(data, request)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/trytond-5.0.8-py3.6.egg/trytond/protocols/jsonrpc.py", line 160, in response
response, cls=JSONEncoder, separators=(',', ':')),
File "/usr/lib/python3.6/json/__init__.py", line 238, in dumps
**kw).encode(obj)
File "/usr/lib/python3.6/json/encoder.py", line 199, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.6/json/encoder.py", line 257, in iterencode
return _iterencode(o, 0)
File "/home/elf9/workspace/apar_tryton/lib/python3.6/site-packages/trytond-5.0.8-py3.6.egg/trytond/protocols/jsonrpc.py", line 61, in default
return marshaller(obj)
File "/usr/lib/python3.6/json/encoder.py", line 180, in default
o.__class__.__name__)
TypeError: Object of type 'exam.centers' is not JSON serializable