问题描述
在odoo框架中,我已经完成并创建了所有项目,现在我在项目截止日期前立即堆叠,当我想创建projet截止日期时,第一次提交和操作成功通过,但是第二个在下面给了我这个错误:
Traceback (most recent call last):
File "D:\odoo 11.0\server\odoo\fields.py",line 936,in __get__
value = record.env.cache.get(record,self)
File "D:\odoo 11.0\server\odoo\api.py",line 960,in get
value = self._data[field][record.id][key]
KeyError: <odoo.api.Environment object at 0x000000000B34F550>
During handling of the above exception,another exception occurred:
Traceback (most recent call last):
File "D:\odoo 11.0\server\odoo\http.py",line 647,in _handle_exception
return super(JsonRequest,self)._handle_exception(exception)
File "D:\odoo 11.0\server\odoo\http.py",line 307,in _handle_exception
raise pycompat.reraise(type(exception),exception,sys.exc_info()[2])
File "D:\odoo 11.0\server\odoo\tools\pycompat.py",line 87,in reraise
raise value
File "D:\odoo 11.0\server\odoo\http.py",line 689,in dispatch
result = self._call_function(**self.params)
File "D:\odoo 11.0\server\odoo\http.py",line 339,in _call_function
return checked_call(self.db,*args,**kwargs)
File "D:\odoo 11.0\server\odoo\service\model.py",line 97,in wrapper
return f(dbname,**kwargs)
File "D:\odoo 11.0\server\odoo\http.py",line 332,in checked_call
result = self.endpoint(*a,**kw)
File "D:\odoo 11.0\server\odoo\http.py",line 933,in __call__
return self.method(*args,line 512,in response_wrap
response = f(*args,**kw)
File "D:\odoo 11.0\server\odoo\addons\web\controllers\main.py",line 872,in search_read
return self.do_search_read(model,fields,offset,limit,domain,sort)
File "D:\odoo 11.0\server\odoo\addons\web\controllers\main.py",line 894,in do_search_read
offset=offset or 0,limit=limit or False,order=sort or False)
File "D:\odoo 11.0\server\odoo\models.py",line 4169,in search_read
result = records.read(fields)
File "D:\odoo 11.0\server\odoo\models.py",line 2535,in read
values[name] = field.convert_to_read(record[name],record,use_name_get)
File "D:\odoo 11.0\server\odoo\models.py",line 4688,in __getitem__
return self._fields[key].__get__(self,type(self))
File "D:\odoo 11.0\server\odoo\fields.py",line 940,in __get__
self.determine_value(record)
File "D:\odoo 11.0\server\odoo\fields.py",line 1051,in determine_value
self.compute_value(recs)
File "D:\odoo 11.0\server\odoo\fields.py",line 1007,in compute_value
self._compute_value(records)
File "D:\odoo 11.0\server\odoo\fields.py",line 998,in _compute_value
getattr(records,self.compute)()
File "D:\odoo 11.0\server\odoo\addons\dev\models\delais.py",line 24,in _delai_arret
domaine = ('project_ids','=',self.project_ids).id
File "D:\odoo 11.0\server\odoo\fields.py",line 934,in __get__
record.ensure_one()
File "D:\odoo 11.0\server\odoo\models.py",line 4296,in ensure_one
raise ValueError("Expected singleton: %s" % self)
ValueError: Expected singleton: delais.delais(2,18)
这是计算每个项目的任务总数的函数,在此函数中我得到了错误。请我没有弄清楚问题出在哪里,请帮我摆脱这个问题,谢谢您的支持。
def _delai_arret(self):
domaine = ('project_ids',self.project_ids).id
dict = self.env['mission.mission'].search_read([domaine],['nbr_mission'])
# print(dict)
if not dict:
pass
else:
somme = 0
for key in dict:
# print(key['nbr_mission'])
somme = somme + key['nbr_mission'] / 30
# print('la somme est : {somme}')
self.delai_arr_mois = somme
# print(somme)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)