openerp移动应用程序

2024-03-29 12:20:29 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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: 'NoneType' object has no attribute 'search' 好像它不是在获取这里讨论的对象是school.student

web或gtk客户端没有类似错误,只有新的移动客户端。
当我访问其他对象时,不会出现这样的错误学校。课程甚至school.course.subjects。只有一个窗体视图学校.学生不会打开的。你知道为什么会这样吗?在

编辑:回溯

2012-09-07 13:57:47,199 17516 INFO ? 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._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
(Pdb) ids2
[]
(Pdb) c
> /opt/openerp/server/openerp/osv/fields.py(554)get()
-> for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
(Pdb) ids2
[]
(Pdb) c
> /opt/openerp/server/openerp/osv/fields.py(554)get()
-> for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'):
(Pdb) ids2
[]
(Pdb) c
2012-09-07 13:58:03,198 17516 ERROR ? openerp.osv.osv: Uncaught exception
Traceback (most recent call last):
File "/opt/openerp/server/openerp/osv/osv.py", line 121, in wrapper
return f(self, dbname, *args, **kwargs)
File "/opt/openerp/server/openerp/osv/osv.py", line 176, in execute
res = self.execute_cr(cr, uid, obj, method, *args, **kw)
File "/opt/openerp/server/openerp/osv/osv.py", line 164, in execute_cr
return getattr(object, method)(cr, uid, *args, **kw)
File "/opt/openerp/server/openerp/osv/orm.py", line 3381, in read
result = self._read_flat(cr, user, select, fields, context, load)
File "/opt/openerp/server/openerp/osv/orm.py", line 3504, in _read_flat
res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
File "/opt/openerp/server/openerp/osv/fields.py", line 552, in get
ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
AttributeError: 'NoneType' object has no attribute 'search'
2012-09-07 13:58:03,202 17516 ERROR ? openerp.netsvc: 'NoneType' object has no attribute 'search'
2012-09-07 13:58:03,208 17516 INFO ? werkzeug: 192.168.100.106 - - [07/Sep/2012 13:58:03] "POST /web/dataset/search_read HTTP/1.1" 200 -


Tags: inpyselfobjfieldsgetservercontext
1条回答
网友
1楼 · 发布于 2024-03-29 12:20:29

问题是self._obj返回的值在pool中不是,所以当你用get方法从pool获取对象时,它试图从dict中找到键,但由于该键在pool中不存在,它返回{}。在

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

相关问题 更多 >