Odoo:第二次创建项目截止日期时出错 在Odoo框架中,我已经完成并创建了所有项目,现在我在项目截止日期前立即堆叠,当我想创建projet截止日期时,第一次提交和操作成功通过,但是第二个在下面给了我这个错误:这是计算每个项目的任务总数的函数,在此函数中我得到了错误请我没有弄清楚问题出在哪里,请帮我摆脱这个问题,谢谢您的支持

问题描述

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 (将#修改为@)