Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.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 openerp移动应用程序_Python_Mobile_Openerp - Fatal编程技术网

Python openerp移动应用程序

Python openerp移动应用程序,python,mobile,openerp,Python,Mobile,Openerp,试用使用jquery mobile构建的openERP 6.1内置移动应用程序。 我有自己的模块“school.student”,当我点击学生时,我会看到学生树,当我点击任何特定的学生时,我会得到错误 File "/opt/openerp/server/openerp/osv/fields.py", line 551, in get ids2 = obj.pool.get(self._obj).search(cr, user, se

试用使用jquery mobile构建的openERP 6.1内置移动应用程序。
我有自己的模块“school.student”,当我点击学生时,我会看到学生树,当我点击任何特定的学生时,我会得到错误

File "/opt/openerp/server/openerp/osv/fields.py", line 551, in get
    ids2 = obj.pool.get(self._obj).search(cr, user, 
                           self._domain + [(self._fields_id, 'in', ids)], 
                           limit=self._limit, context=context)

AttributeError:“非类型”对象没有属性“搜索”
好像这里讨论的对象是
school.student

通过web或gtk客户端没有类似错误,只有新的移动客户端。
在访问任何其他对象(如school.course,甚至
school.course.subjects)时,我都不会遇到这样的错误。只有一个未打开的school.student表单视图。你知道为什么会这样吗

编辑:回溯

2012-09-07 13:57:47199 17516信息?werkzeug:192.168.100.106---[07/Sep/2012 13:57:47]“GET/favicon.ico HTTP/1.1”404-

/opt/openerp/server/openerp/osv/fields.py(554)get()

->for r in obj.pool.get(self.\u obj)。\u read\u flat(cr,user,ids2,[self.\u fields\u id],context=context,load=''classic\u write'):

(Pdb)ids2

[]

(Pdb)c

/opt/openerp/server/openerp/osv/fields.py(554)get()

->for r in obj.pool.get(self.\u obj)。\u read\u flat(cr,user,ids2,[self.\u fields\u id],context=context,load=''classic\u write'):

(Pdb)ids2

[]

(Pdb)c

/opt/openerp/server/openerp/osv/fields.py(554)get()

->for r in obj.pool.get(self.\u obj)。\u read\u flat(cr,user,ids2,[self.\u fields\u id],context=context,load=''classic\u write'):

(Pdb)ids2

[]

(Pdb)c

2012-09-0713:58:03198 17516错误?openerp.osv.osv:未捕获异常

回溯(最近一次呼叫最后一次):

文件/opt/openerp/server/openerp/osv/osv.py”,第121行,在包装器中
返回f(self、dbname、*args、**kwargs)

文件“/opt/openerp/server/openerp/osv/osv.py”,执行中第176行
res=self.execute\u cr(cr,uid,obj,method,*args,**kw)

文件“/opt/openerp/server/openerp/osv/osv.py”,第164行,执行
返回getattr(对象、方法)(cr、uid、*args、**kw)

文件“/opt/openerp/server/openerp/osv/orm.py”,第3381行,已读
result=self.\u read\u flat(cr、用户、选择、字段、上下文、加载)

文件/opt/openerp/server/openerp/osv/orm.py”,第3504行,在平面读图中

res2=self.\u列[f].get(cr,self,ids,f,user,context=context,values=res)

文件“/opt/openerp/server/openerp/osv/fields.py”,get中第552行
ids2=obj.pool.get(self.\u obj).search(cr,user,self.\u domain+[(self.\u fields\u id,'in',id)],limit=self.\u limit,context=context)


AttributeError:“非类型”对象没有属性“搜索”


2012-09-07 13:58:03202 17516错误?openerp.netsvc:“非类型”对象没有“搜索”属性


2012-09-0713:58:03208 17516信息?werkzeug:192.168.100.106---[07/Sep/2012 13:58:03]“POST/web/dataset/search\u read HTTP/1.1”200-

问题在于
self.\u obj
返回
pool
中不存在的值,因此当您尝试使用
get
方法从
pool
获取对象时,它会尝试从
dict
中查找键,但由于
pool
中不存在该键,它会返回
None


如果这不会在GTK或WEB中得到错误,那么请尝试在所有客户端中显示
self.\u obj

'NoneType'对象没有属性'search'意味着它在池中找不到您的类。get(self.\u obj)您的学校。学生代码是什么?你确定你把它包括在init.py中,并且在你的班上有一个_name='school.student'吗?@Timothy:是的,我知道这意味着什么。代码相当长,有一个_name='school.student',它包含在init.py中。正如我所说,表单在web客户端和gtk客户端中都可以很好地打开。上面提到的错误只会出现在移动客户端的学生表单上。感谢Lafada的问题改进。我不明白你写的最后一句话:“如果这不会在GTK或WEB中得到错误,那么请尝试在所有客户端中显示self.\u obj。”。您能详细说明一下吗?如果您有服务器访问权限,请检查每个客户端的
self.\u obj
值是多少。值可能会更改,或者
pool
可能不包含该对象。我在
ids2=obj.pool.get(self.\u obj).search(cr,user,self.\u domain+[(self.\u fields\u id,'in',id)],limit=self.\u limit,context=context)之后设置了pdb跟踪
和打印的self.\u obj在3个客户端上显示为
ir.actions.act\u window.view
。另外,所有3个客户端上的
ids2
也是
[]
。拉法达,这能告诉你什么吗?顺便说一下,
ids2
还返回了一些基本组件(如采购/通讯簿/供应商)的
[]
,并返回了大多数其他组件的正常dict。对于移动客户端,请再次检查。因为如果它以
[]
的形式返回
ids2
,那么肯定没有错误。正如您所说的,错误显示为
None-type对象没有属性搜索
意味着它
obj.pool.get(self.\u obj)
返回
None
。同时提供完整的回溯,以便了解更多信息。只需使用完整的回溯更新您的答案。我与移动客户端进行了重新检查,
ids2
总是以
[]
的形式出现。我用回溯编辑了我的答案。这是完整的回溯还是整个日志?以前未显示任何错误或警告。