Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 名称错误:全局名称';is#u序列';没有定义_Python_Python 2.7_Openerp - Fatal编程技术网

Python 名称错误:全局名称';is#u序列';没有定义

Python 名称错误:全局名称';is#u序列';没有定义,python,python-2.7,openerp,Python,Python 2.7,Openerp,我已经在类度日(osv.osv)中创建了函数is\u序列(arg) 当我从写入函数调用此函数时,系统生成错误: 名称错误:未定义全局名称“is_序列” 我不明白为什么系统找不到这个功能 Client Traceback (most recent call last): File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\http.py", line 204, in

我已经在类度日(osv.osv)中创建了函数is\u序列(arg)

当我从写入函数调用此函数时,系统生成错误:

名称错误:未定义全局名称“is_序列”

我不明白为什么系统找不到这个功能

Client Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\http.py", line 204, in dispatch
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\controllers\main.py", line 1130, in call_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\controllers\main.py", line 1122, in _call_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\session.py", line 42, in proxy
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\session.py", line 30, in proxy_method
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\session.py", line 103, in send


Server Traceback (most recent call last):
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\web\session.py", line 89, in send
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\osv\osv.py", line 197, in execute
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\degree_day\degree_day.py", line 187, in correct_future_degree_day
  File "C:\Program Files (x86)\OpenERP 7.0-20130520-231036\Server\server\openerp\addons\degree_day\degree_day.py", line 79, in write
NameError: global name 'is_sequence' is not defined
学位日

从openerp.osv导入osv,字段
从dateutil.parser导入*
从dateutil.tz导入*
从日期时间导入*
班级学位日(osv.osv):
_name=“学位日”
_order=“日期”
_纵队={
“日期”:字段。日期(“日期”),
“高温”:字段.integer(“高温”),
“低温”:字段.integer(“低温”),
“热度日”:fields.integer(“热度日”),
'hw_degree_day':fields.integer('Hot Water degree day'),
“状态”:字段。选择([
(‘正常’,‘正常’),
('initial_dd_adjust','adjust initial Degree Day')
],Status',readonly=True,track_visibility='onchange',
help='*当用户输入高、低温度时,使用“正常”状态,度日值为只读\
\n*当用户手动调整第一个学位日记录的学位日值时,将使用“调整初始学位日”状态。“),
“调试”:fields.text(“调试文本”),
“初始dd记录”:fields.boolean(“第一个dd记录”),
}
_默认值={
“状态”:lambda*a:“正常”,
}
def是_序列(arg):
返回(非hasattr(arg,“strip”)和
hasattr(arg,“\uuuu getitem\uuuuuuuuuuuuuu”)或
hasattr(arg,“\uuuu iter””)
def写入(自身、cr、uid、ID、VAL、上下文=无):
调试=“…”
dd_recs=self.pool.get('degree.day'))
#是否检索到学位日记录?
如果dd_记录:
调试+=“dd_记录不为空:”
#初始dd记录具有手动输入的dd值
#因为没有前一天可以抽签了
init_dd_rec=dd_recs.read(cr、uid、ID,[“初始记录”])
debug+=“initial_dd_record=“+str(init_dd_rec)+”:“
#有时这是一张单子,有时是一张单子
#转换为单个if列表
如果是顺序(初始顺序):
一个初始值=初始值[0]
其他:
一个初始值=初始值
#如果初始\u dd\u记录为真,则跳过只读覆盖代码
#因为在这种情况下,所有字段都是只读的=False
如果没有一个初始记录:
调试+=“不是初始dd记录:”
#如果不存在高温,则添加它
如果不是VAL,则有“高温”键:
调试+=“无高温:”
VAL['high_temp']=dd记录读取(cr、uid、ID、[“high_temp”])[0]['high_temp']
#如果不存在低温,则添加它
如果不是VAL,则具有“低温度”键:
调试+=“无低温:”
VAL['low_temp']=dd记录读取(cr、uid、ID、[“low_temp”])[0]['low_temp']
VAL['date']=dd_recs.read(cr、uid、ID、[“date”])[0]['date']
调试+=“VAL['date']=”+VAL['date']+”:“
debug+=“dd记录读取(cr,uid,ID,['date'])=”+str(dd记录读取(cr,uid,ID,['date'])+”:“
#日期似乎是以字符串形式存储的,所以需要在转换之前对其进行转换
#使用它查找昨天的日期
adate=parse(VAL['date'])
前一天=adate-时间增量(天=1)
db_id=dd_recs.search(cr,uid,[(“日期”,“前一天)])
#昨天有唱片吗?
如果db_ID:
调试+=“ID不为空:”
last_hdd=dd_recs.read(cr、uid、db_id[0],“热度日])[“热度日”]
调试+=“最后一个硬盘=”+str(最后一个硬盘)+:“
last_hwdd=dd_recs.read(cr、uid、db_id[0],“hw_degree_day]”)[“hw_degree_day”]
高温=VAL[“高温”]
低温=VAL[“低温”]
a=65-((高温+低温)/2)
如果a<0:
a=0
VAL[‘热量(度)(日)]=a+最后一个硬盘驱动器
VAL['hw_degree_day']=a+5+最后一天
VAL['debug']=调试
返回super(degree\u day,self).write(cr,uid,ids,VAL,context=context)
def创建(自身、cr、uid、VAL、上下文=无):
调试=“…”
如果VAL.有按键(“高温”)且VAL.有按键(“低温”):
adate=parse(VAL['date'])
前一天=adate-时间增量(天=1)
dd_recs=self.pool.get('degree.day'))
#是否检索到学位日记录?
如果dd_记录:
调试+=“dd_记录不为空:”
ids=dd记录搜索(cr,uid,[(“日期”,“前一天)])
#昨天有唱片吗?
如果ID为:
调试+=“ID不为空:”
最后一个硬盘驱动器=dd记录读取(cr、uid、ID[0],“热度日”])
last_hwdd=dd记录读取(cr、uid、ID[0],“hw学位日”])
高温=VAL[“高温”]
低温=VAL[“低温”]
a=65-((高温+低温)/2)
如果a<0:
a=0
VAL['heat_DEGRE_day']=a+上一个硬盘['heat_DEGRE_day']
VAL['hw学位日]=a+5+最后一天['hw学位日]]
VAL['debug']=调试
返回super(degree\u day,self).create(cr,uid,VAL,context=context)
def correct_future_degree_day(self、cr、uid、ids、heat_degree_day、hw_degree_day、date、debug、context=None):
“当学位日重
So the two options are 
1) static method

@staticmethod
def is_sequence(arg):
    ...
2) Instance method

def is_sequence(self, arg):
    ...