我需要在更改分部时将日期返回到日期字段
这是我的Python代码
tea_worker_ids = self.pool.get('bpl.worker').search(cr, uid, [('bpl_division_id', '=', division_id), ('default_work', '=', 'tea')])
for record in self.pool.get('bpl.worker').browse(cr, uid, tea_worker_ids):
tea_list_data.append({'worker_id': record.id, 'worker_emp_no': record.emp_no, 'is_selected':True,'date': (fields.date.context_today)})#
tea_v['selected_tea_workers'] = tea_list_data
这是错误
2013-05-13 06:22:28,810 15393 ERROR ABC werkzeug: Error on request:
Traceback (most recent call last):
File "/usr/share/pyshared/werkzeug/serving.py", line 159, in run_wsgi
execute(app)
File "/usr/share/pyshared/werkzeug/serving.py", line 146, in execute
application_iter = app(environ, start_response)
File "/usr/share/pyshared/simplejson/__init__.py", line 286, in dumps
return _default_encoder.encode(obj)
File "/usr/share/pyshared/simplejson/encoder.py", line 226, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/share/pyshared/simplejson/encoder.py", line 296, in iterencode
return _iterencode(o, 0)
File "/usr/share/pyshared/simplejson/encoder.py", line 202, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <function context_today at 0xaaa7064> is not JSON serializable
请帮我解决这个问题,
EDITED
更改为fields.date.context_today()
时
那么错误如下所示
File "/home/bellvantage/Documents/openerp-7.0/openerp-7/openerp/addons/bpl/bpl.py", line 1059, in on_change_division
workers_list.append({'worker_id': record.id,'start_date': fields.date.context_today()})
TypeError: context_today() takes at least 3 arguments (0 given)
答案 0 :(得分:3)
看起来context_today
是一种方法,而不是一种价值。你需要打电话给它:
tea_list_data.append({'worker_id': record.id, 'worker_emp_no': record.emp_no,
'is_selected':True,'date': (fields.date.context_today())})
答案 1 :(得分:0)
这里fields.date.context_today是一个方法,所以你需要传递参数,所以它看起来像,
tea_list_data.append({'worker_id': record.id, 'worker_emp_no': record.emp_no,
'is_selected':True,
'date': (fields.date.context_today(self,cr,uid,context=context))})
答案 2 :(得分:0)
与
合作workers_list.append({'worker_id': record.id, 'start_date': time.strftime('%Y-%m-%d'), 'selected':True})