2017-03-26 3 views
1

V10 커뮤니티 Odoo하는 Odoo의 V8, 그리고 나는이 두 가지 방법을 쓰기()는 예기치 않은 키워드 인수 '맥락'을 가지고 또는이 두 함수 createwrite에 의해 생성됩니다.형식 오류 내가 <code>res.partner</code> 클래스를 상속 한

하지만이 중 하나를하려고 할 때, 회사를 편집하여,이 날을 던졌습니다 :

Traceback (most recent call last): 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 638, in _handle_exception 
return super(JsonRequest, self)._handle_exception(exception) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 675, in dispatch 
result = self._call_function(**self.params) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 331, in _call_function 
return checked_call(self.db, *args, **kwargs) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/service/model.py", line 119, in wrapper 
return f(dbname, *args, **kwargs) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 324, in checked_call 
result = self.endpoint(*a, **kw) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 933, in __call__ 
return self.method(*args, **kw) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/http.py", line 504, in response_wrap 
response = f(*args, **kw) 
File "/home/kristian/odoov10/odoo-10.0rc1c-20161005/odoo/addons/web/controllers/main.py", line 862, in call_kw 
return self._call_kw(model, method, args, kwargs) 
File "/home/kristian/odoov10/odoo-10.0rc1c-20161005/odoo/addons/web/controllers/main.py", line 854, in _call_kw 
return call_kw(request.env[model], method, args, kwargs) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/api.py", line 679, in call_kw 
return call_kw_model(method, model, args, kwargs) 
File "/home/kristian/.virtualenvs/odoov10/lib/python2.7/site-packages/odoo-10.0rc1c_20161005-py2.7.egg/odoo/api.py", line 664, in call_kw_model 
result = method(recs, *args, **kwargs) 
TypeError: write() got an unexpected keyword argument 'context' 

내가 때문에이 ctx = self._context.copy()의 생각하지만 난 그게이 선언이 V10에 다른 방법을 보았다 방법, 나는 그것을 제거해야하는지 모른다.

이것에 대한 아이디어가 있습니까?

답변

2

작성 방법에 @ api.multi 데코레이터를 사용해야합니다. 여기에 '자기'

@api.multi 
def write(self, values): 
    """ To write a new record, 
    adds a Boolean field to true 
    indicates that the partner is a company 
    """ 
    #if context is None: 
     #context = {} 
    ctx = dict(self._context or {}) 
    ctx.update({'create_company': True}) 
    return super(ResCompany, self.with_context(ctx)).write(values) 

은 쓰기 방법에 api.one @ 을 사용할 수 없습니다 레코드입니다.

아래 링크에서 2 개의 장식품의 차이점을 확인할 수 있습니다.

When to use api.one and api.multi in odoo | openerp?

+0

고맙습니다. – NeoVe