UnicodeDecodeError добавление модели в Django - PullRequest
0 голосов
/ 09 мая 2018

При попытке добавить модель, содержащую юникод в Django 1.9, я получаю следующую ошибку:

UnicodeDecodeError at /cleaner/clean/add/
'utf-8' codec can't decode byte 0x96 in position 209: invalid start byte

Это происходит в классе модели.

class Clean(models.Model):
    name = models.CharField(max_length=100)
    cv = models.TextField(max_length=10000, blank = True, null = True)
    cvfile = models.FileField(validators=[validate_file_extension])

    #override save method
    def save(self, *args, **kwargs):
        get_text = self.cvfile.read()
        self.cv = get_text
        self.cv=self.cv.decode("utf-8")
        super(Clean, self).save(*args, **kwargs)

Я думал, self.cv.decode("utf-8") решит эту проблему, так как я использую Python 3.6.4, но это не так.

Есть ли способ решить эту проблему?

1 Ответ

0 голосов
/ 09 мая 2018

Понял. Для тех, кто может иметь эту проблему в будущем:

Чтобы исправить это, измените строку: self.cv=self.cv.decode("utf-8")

до: get_text = self.cvfile.read().decode("utf-8", 'ignore')

...