I found a way: book.title = titolo.decode('unicode_escape')
it works fine

Il giorno venerdì 10 giugno 2022 alle 21:45:46 UTC+2 Virgilio Ravagli ha 
scritto:

> Thank you, Antonis, it works !
> book.title = u'Verità' doesn't give any errors.
>
> Just another step: suppose that the title with accented letters stays in a 
> variable, say titolo, and I want to write
> book.title = titolo. It gives error. How can I do, when the assignment on 
> the right is not a constant ?
> Thanks in advance
>
> Il giorno venerdì 10 giugno 2022 alle 15:25:51 UTC+2 Antonis Christofides 
> ha scritto:
>
>> Hello,
>>
>> try this:
>>
>> book.title = u'Verità'
>> Regards, 
>>
>> Antonis
>>
>> P.S. Sorry I was a bit harsh yesterday—I had drunk too much beer :-)
>>
>>
>> On 10/06/2022 10.50, Virgilio Ravagli wrote:
>>
>> I have surround book.save with a try...catch...; the exception is: You 
>> must not use 8-bit bytestrings unless you use a text_factory that can 
>> interpret 8-bit bytestrings (like text_factory = str). It is highly 
>> recommended that you instead just switch your application to Unicode 
>> strings. 
>> Without the try...catch, here is the traceback:
>> Environment:
>>
>>
>> Request Method: POST
>> Request URL: http://localhost:8000/uti/dataLoading/
>>
>> Django Version: 1.8.5
>> Python Version: 2.7.10
>> Installed Applications:
>> ('django.contrib.admin',
>>  'django.contrib.auth',
>>  'django.contrib.contenttypes',
>>  'django.contrib.sessions',
>>  'django.contrib.messages',
>>  'django.contrib.staticfiles',
>>  'uti')
>> Installed Middleware:
>> ('django.contrib.sessions.middleware.SessionMiddleware',
>>  'django.middleware.common.CommonMiddleware',
>>  'django.middleware.csrf.CsrfViewMiddleware',
>>  'django.contrib.auth.middleware.AuthenticationMiddleware',
>>  'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
>>  'django.contrib.messages.middleware.MessageMiddleware',
>>  'django.middleware.clickjacking.XFrameOptionsMiddleware',
>>  'django.middleware.security.SecurityMiddleware')
>>
>>
>> Traceback:
>> File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in 
>> get_response
>>   132.                     response = wrapped_callback(request, 
>> *callback_args, **callback_kwargs)
>> File "C:\Users\RavagliV\eclipse-workspace-saved\librarian\uti\views.py" 
>> in datLoading
>>   34.                 msg = do_dat_loading()
>> File "C:\Users\RavagliV\eclipse-workspace-saved\librarian\uti\views.py" 
>> in do_dat_loading
>>   79.             book.save()
>> File "C:\Python27\lib\site-packages\django\db\models\base.py" in save
>>   734.                        force_update=force_update, 
>> update_fields=update_fields)
>> File "C:\Python27\lib\site-packages\django\db\models\base.py" in save_base
>>   762.             updated = self._save_table(raw, cls, force_insert, 
>> force_update, using, update_fields)
>> File "C:\Python27\lib\site-packages\django\db\models\base.py" in 
>> _save_table
>>   827.                                       forced_update)
>> File "C:\Python27\lib\site-packages\django\db\models\base.py" in 
>> _do_update
>>   877.         return filtered._update(values) > 0
>> File "C:\Python27\lib\site-packages\django\db\models\query.py" in _update
>>   580.         return query.get_compiler(self.db).execute_sql(CURSOR)
>> File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in 
>> execute_sql
>>   1062.         cursor = super(SQLUpdateCompiler, 
>> self).execute_sql(result_type)
>> File "C:\Python27\lib\site-packages\django\db\models\sql\compiler.py" in 
>> execute_sql
>>   840.             cursor.execute(sql, params)
>> File "C:\Python27\lib\site-packages\django\db\backends\utils.py" in 
>> execute
>>   79.             return super(CursorDebugWrapper, self).execute(sql, 
>> params)
>> File "C:\Python27\lib\site-packages\django\db\backends\utils.py" in 
>> execute
>>   64.                 return self.cursor.execute(sql, params)
>> File "C:\Python27\lib\site-packages\django\db\utils.py" in __exit__
>>   97.                 six.reraise(dj_exc_type, dj_exc_value, traceback)
>> File "C:\Python27\lib\site-packages\django\db\backends\utils.py" in 
>> execute
>>   64.                 return self.cursor.execute(sql, params)
>> File "C:\Python27\lib\site-packages\django\db\backends\sqlite3\base.py" 
>> in execute
>>   318.         return Database.Cursor.execute(self, query, params)
>>
>> Exception Type: ProgrammingError at /uti/dataLoading/
>> Exception Value: You must not use 8-bit bytestrings unless you use a 
>> text_factory that can interpret 8-bit bytestrings (like text_factory = 
>> str). It is highly recommended that you instead just switch your 
>> application to Unicode strings.
>>
>> Il giorno giovedì 9 giugno 2022 alle 23:17:16 UTC+2 Antonis Christofides 
>> ha scritto:
>>
>>> Please read my email again.
>>>
>>> Antonis Christofides+30-6979924665 <+30%20697%20992%204665> (mobile)
>>>
>>> On 09/06/2022 22.27, Virgilio Ravagli wrote:
>>>
>>> All right. 
>>> class Book(models.Model):
>>>        code = models.PositiveIntegerField(primary_key=True)
>>>        title = models.CharField(max_length=60,blank=False,null=False)
>>>
>>> book = Book()
>>> book.code = 1
>>> book.title = 'Verità'
>>> book.save()
>>>
>>> the code is really simple
>>> Il giorno mercoledì 8 giugno 2022 alle 21:07:41 UTC+2 Antonis 
>>> Christofides ha scritto:
>>>
>>>> Please provide the minimum code that reproduces the problem, and the 
>>>> full traceback.
>>>>
>>>> Regards,
>>>>
>>>> Antonis
>>>>
>>>>
>>>> On 08/06/2022 18.24, Virgilio Ravagli wrote:
>>>>
>>>> ou must not use 8-bit bytestrings unless you use a text_factory that 
>>>> can interpret 8-bit bytestrings
>>>>
>>>> -- 
>>> You received this message because you are subscribed to the Google 
>>> Groups "Django users" group.
>>> To unsubscribe from this group and stop receiving emails from it, send 
>>> an email to [email protected].
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/django-users/cf785c0e-5cfc-4587-b0cd-ea796a62a20bn%40googlegroups.com
>>>  
>>> <https://groups.google.com/d/msgid/django-users/cf785c0e-5cfc-4587-b0cd-ea796a62a20bn%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>>
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/e2df5c07-5dd3-4fc3-9034-1955d438b670n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/django-users/e2df5c07-5dd3-4fc3-9034-1955d438b670n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/fb8bed42-b1f9-4aba-aa9d-c87b06cc774cn%40googlegroups.com.

Reply via email to