如何在 Django 模型选择中使用 unicode 字符?

How to have unicode characters in Django model choices?

我正在尝试在字段选择中使用特殊字符。我有以下代码:

CHOICES = (('1', 'b'),
                ('2', 'p'),
                ('3', 'm'),
                ...
                ('11', 'ɾ'),
                ...)
field = models.CharField(choices=CHOICES, max_length=10, null=True, blank=True)

然而,当 Django 为该字段呈现 select 列表时,我得到的是:

<option value="11">&amp;#638;</option>

我试过手动打印特殊字符,它成功了。但出于某种原因,Django 正在将 & 转换为 &amp;

使用 Python Unicode 对象作为标签:

CHOICES = (('1', 'b'),
                ('2', 'p'),
                ('3', 'm'),
                ...
                ('11', u'\u027e'),
                ...)

Django 会在渲染时对字符进行编码。