ValueError: строковый литерал не может содержать нулевые (0x00) символы odoo

Я получаю эту ошибку, когда пытаюсь импортировать пользователей

Примечание:

модуль работает нормально: я могу импортировать пользователей с помощью odoo 10 и postgres 9.3 ubuntu 14

но здесь я использую postgres 9.5 odoo 10 ubuntu 16

  File "/home/belazar/Documents/addons_odoo10/hr_biometric_machine/models/biometric_machine.py", line 113, in create_user
    'biometric_device': self.id, }
  File "/opt/odoo/odoo/models.py", line 3830, in create
    record = self.browse(self._create(old_vals))
  File "/opt/odoo/odoo/models.py", line 3925, in _create
    cr.execute(query, tuple(u[2] for u in updates if len(u) > 2))
  File "/opt/odoo/odoo/sql_db.py", line 154, in wrapper
    return f(self, *args, **kwargs)
  File "/opt/odoo/odoo/sql_db.py", line 231, in execute
    res = self._obj.execute(query, params)
ValueError: A string literal cannot contain NUL (0x00) characters.

person Borealis    schedule 12.07.2017    source источник
comment
Что непонятного в ошибке?   -  person a_horse_with_no_name    schedule 12.07.2017


Ответы (1)


проблема решается комментарием on /opt/odoo/odoo/sql_db.py этих строк:

#from tools import parse_version as pv
#if pv(psycopg2.__version__) < pv('2.7'):
#   from psycopg2._psycopg import QuotedString
  #  def adapt_string(adapted):
   #     """Python implementation of psycopg/psycopg2#459 from v2.7"""
    #    if '\x00' in adapted:
     #       raise ValueError("A string literal cannot contain NUL (0x00) characters.")
      #  return QuotedString(adapted)

    #psycopg2.extensions.register_adapter(str, adapt_string)
    #psycopg2.extensions.register_adapter(unicode, adapt_string)
person Borealis    schedule 13.07.2017