This question has been flagged
9 Replies
57760 Views

Hi everyone;i'm trying to add constraints of unicity;i can show the message in the beginning but after 2 tests i show this message: UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 27: ordinal not in range(128) any idea please

myclass.py

class time_table_line(osv.osv): _description ='Time Table Line' _name = 'time.table.line' _rec_name ="table_id" _columns = {

    'teacher_id': fields.many2one('hr.employee', 'Nom du professeur',),
    'subject_id': fields.many2one('subject.subject', 'Nom de la matiere'),
    'table_id': fields.many2one('time.table', 'TimeTable'),
    'start_time' : fields.datetime('Start Time', required=True ),
    'end_time' : fields.float('End Time', required=True ),
    'sale_id' : fields.many2one('school.sale', 'Salle',required=True ),
}
_sql_constraints = [
('sale', 'unique(sale_id,start_time,end_time)', 'Salle existante')
]

_sql_constraints = [
('prof', 'unique(teacher_id,start_time,end_time)', 'Prof existant')
]

time_table_line()

Avatar
Discard
Best Answer

Another reason could be that you forgot other files in the addons directory root.  Happened to me seconds ago, I referenced the addons folder but not only it contained my_module_name1/ or my_module_name2/ etc, but also a jpeg :s

Stupid of me but didn't take to much time to realize it.

Avatar
Discard
Best Answer

Hy,

Have a look there : https://github.com/odoo/odoo/issues/773

Avatar
Discard

@oumaima if my answer is correct, thnaks for voting

Best Answer

Hi,

Maybe add the charset at the beginning of your source file :

# -*- coding: utf-8 -*-
Avatar
Discard
Author

Hi,thank you replay i added it but i still have the same problem;after 2 tests i show this error

in your code python if any string contains accent, to add the prefix u : for example replace « "é" » by « u"é" »

Author

I have no string containing accent;any other idea please

Best Answer

Try to define your string as unicode:

u'Nom du professeur'

'teacher_id': fields.many2one('hr.employee', u'Nom du professeur',),

 

[]s

Avatar
Discard

his error is due to unicode and there is no special character in 'Nom du professeur'. in odoo/python to avoid this type of error, for char, use you must encode in utf-8: from openerp.tools import ustr my_char = ustr("spécial évènement")