Oh, ahora lo entendí, entonces el problema es que Django espera que ese string ya sea Unicode, y por tanto tengo que encargarme de convertirlo, ¿no?
Pues la verdad es que tampoco así he conseguido solucionar nada. Probé a usar la solución del link:
Cita: s = 'Inglés'
u = unicode(s, 'utf-8')
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
u = unicode(s, 'utf-8')
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe9 in position 4: unexpected end of data
Sin embargo si lo hago con UTF-16 sí funciona
También probé en trypython.org, y sí funciona con UTF-8, así que ahora estoy más perdido que antes
De todas maneras intenté hacer esto:
Código Python:
Ver original# -*- coding: utf-8 -*-
from django.db import models
class Asignatura(models.Model):
nombre = models.CharField(max_length = 20)
def __unicode__(self):
return unicode(self.nombre, 'utf-8')
class Examen(models.Model):
asignatura = models.ForeignKey(Asignatura)
nota = models.FloatField()
evaluacion = models.IntegerField()
fecha = models.DateField('fecha examen')
def __unicode__(self):
return unicode(str(self.asignatura) + ' : ' + str(self.nota), 'utf-8')
Y ahora en vez de salirme el DjangoUnicodeDecodeError me sale:
Cita:
Iniciado por Django TypeError at /admin/califs/examen/add/
decoding Unicode is not supported
Saludos :D