← Back to team overview

c2c-oerpscenario team mailing list archive

[Bug 715654] [NEW] One2any field domain error

 

Public bug reported:

OERP server 6.0.1 on Ububtu
While adding new one2many field to res.partner object using GTK-client (from Windows), I get:

Traceback (most recent call last):
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
  File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
    ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
TypeError: coercing to Unicode: need string or buffer, list found

The domain was default - []
After changing domain to [('1','=','1')] another error:

Traceback (most recent call last):
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
  File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
    ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
TypeError: cannot concatenate 'str' and 'list' objects

When I left domain field empty I got:

Traceback (most recent call last):
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
    return f(self, dbname, *args, **kwargs)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
    res = self.execute_cr(cr, uid, obj, method, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
    return getattr(object, method)(cr, uid, *args, **kw)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
    result = self._read_flat(cr, user, select, fields, context, load)
  File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
    res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
  File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
    ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
TypeError: unsupported operand type(s) for +: 'bool' and 'list'

But after restarting server it works fine (with empty domain).

There are no such problems with other type fields.

** Affects: openobject-server
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of C2C
OERPScenario, which is subscribed to the OpenERP Project Group.
https://bugs.launchpad.net/bugs/715654

Title:
  One2any field domain error

Status in OpenERP Server:
  New

Bug description:
  OERP server 6.0.1 on Ububtu
  While adding new one2many field to res.partner object using GTK-client (from Windows), I get:

  Traceback (most recent call last):
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
      result = self._read_flat(cr, user, select, fields, context, load)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
      res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
    File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
      ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
  TypeError: coercing to Unicode: need string or buffer, list found

  The domain was default - []
  After changing domain to [('1','=','1')] another error:

  Traceback (most recent call last):
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
      result = self._read_flat(cr, user, select, fields, context, load)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
      res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
    File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
      ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
  TypeError: cannot concatenate 'str' and 'list' objects

  When I left domain field empty I got:

  Traceback (most recent call last):
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 122, in wrapper
      return f(self, dbname, *args, **kwargs)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 176, in execute
      res = self.execute_cr(cr, uid, obj, method, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/osv.py", line 167, in execute_cr
      return getattr(object, method)(cr, uid, *args, **kw)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 2921, in read
      result = self._read_flat(cr, user, select, fields, context, load)
    File "/usr/share/pyshared/openerp-server/osv/orm.py", line 3041, in _read_flat
      res2 = self._columns[f].get(cr, self, ids, f, user, context=context, values=res)
    File "/usr/share/pyshared/openerp-server/osv/fields.py", line 474, in get
      ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context)
  TypeError: unsupported operand type(s) for +: 'bool' and 'list'

  But after restarting server it works fine (with empty domain).

  There are no such problems with other type fields.





Follow ups

References