我有一个有字段属性的模范老师。此属性由某些预定义选项填充。
model.py
#-*-coding" utf-8 -*-
field_options=[
('Greek letters', 'Greek letters'),
('Greek letters', 'Greek letters'),
('Greek letters', 'Greek letters'),
('Greek letters', 'Greek letters'),
]
class Teacher(models.Model):
#fields here.....
field = models.CharField(choices=field_options, max_length=20)我的意思是教师可以是数学家、物理学家等等,但我储存了这些领域的希腊语。当我去django的管理后端存储一个老师时,我用希腊语字母来表示他的last_name,他的地址等等,我为他的字段选择了一个选项,但是当我点击save时,它给了我一个错误,即字段的值不是一个有效的选择,给出了字段的unicode表示的值,就像
u'\u039c\u0391\u0398.... etc为什么它保存其他字段(名字、姓氏等)上的其他希腊字母,而不保存特定的字母?我能做点什么来解决这个问题吗?
编辑:控制台给我以下错误。
/usr/local/lib/python2-7/dist-packages/django/db/models/fields/__init__.py:194:
UnicodeWarning:Unicode equal comparison failed to convert both arguments to Unicode -interpreting them as being unequal
elif value == option_key还有一个想法.我在syncdb.First之后改变了它,它只是一个没有选择的CharField,我手动添加了它(而不是南方).Could,这是错误吗?
发布于 2013-12-12 09:41:11
尝试将u添加到元组中的字符串中:
(u'Greek letters', u'Greek letters'),
#('Greek letters', 'Greek letters'),并检查元组中的第一个元素max_length=20 .
发布于 2013-12-12 09:48:00
unicode的一个一般性补充及其“问题”:
在使用Python2.7时,有时会遇到unicode方面的问题。我强烈建议花30分钟讨论这个问题,以避免未来的大部分问题。看一看下面的谈话:
实用的Unicode,还是,我该如何止痛?
https://stackoverflow.com/questions/20539709
复制相似问题