江西独角兽添加模型

2024-03-28 08:45:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在Django 1.9中尝试添加包含unicode的模型时,出现以下错误:

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")可以解决这个问题,因为我使用的是python3.6.4,但事实并非如此。你知道吗

有办法解决这个问题吗?你知道吗


Tags: 模型selfcleantruemodelssaveargsbyte
1条回答
网友
1楼 · 发布于 2024-03-28 08:45:14

明白了。对于将来可能有此问题的任何人:

要解决此问题,请更改行:self.cv=self.cv.decode("utf-8")

收件人:get_text = self.cvfile.read().decode("utf-8", 'ignore')

相关问题 更多 >