Python Django中的Unicode错误
我试图在包含unicode字符串的数据库中实现CRUD。以下是模型:Python Django中的Unicode错误,python,django,django-models,django-admin,Python,Django,Django Models,Django Admin,我试图在包含unicode字符串的数据库中实现CRUD。以下是模型: from django.db import models class Category(models.Model): cat_name = models.CharField(max_length=100, verbose_name="Category Name") def __unicode__(self): return self.cat_name class Translation(
from django.db import models
class Category(models.Model):
cat_name = models.CharField(max_length=100, verbose_name="Category Name")
def __unicode__(self):
return self.cat_name
class Translation(models.Model):
english_term = models.TextField(verbose_name="English Term")
bangla_term = models.TextField(verbose_name="Bangla Term")
bangla_variant = models.TextField(verbose_name="Variant")
parts_of_speech = models.TextField(verbose_name="Parts of Speech")
category = models.ForeignKey(Category, verbose_name="Category")
def __unicode__(self):
return self.english_term
默认情况下,Django使用拉丁瑞典语ci或其他语言创建数据库和表。我已经手动将数据库和表转换为utf8 unicode ci(很抱歉,我知道排序规则名称搞错了)
我已经在我的管理区注册了模型。当我尝试将任何条目添加到模型中时,我得到一个错误:
Warning at /admin/glossary/category/add/
Incorrect string value: '\xE0\xA6\x97\xE0\xA6\xA8...' for column 'cat_name' at row 1
有什么帮助吗
问候试试看
def __unicode__(self):
return u'%s' % self.cat_name
在您的类别模型中。您可能希望使用utf8编码重新创建数据库,或者检查客户端和服务器端的已配置编码。Django不创建数据库,您的责任是创建一个数据库并在Django设置中为Django连接设置正确的参数。唯一的例外是sqlite3后端,它总是使用utf8。重新创建数据库有效。虽然我在:s之前手动将db转换为unicode