Djangoのadmin機能からインサート後、UnicodeEncodeError: ‘ascii’ codec can’t encode character

NO IMAGE

Djangoにハマってます。今までのJavaに比べると遥かにライトな書き方ができると思っています。エンタープライズレベルでは厳しいかもしれませんが、個人開発には開発効率から考えると、適切な言語・フレームワークに見えます。

さて、Djangoの管理機能のadmin Appを使用していて、開発中は適当にtestとか入力していたのですが、本気で日本語入力したら、

UnicodeEncodeError: 'ascii' codec can't encode character

となってしまいました。unicodeを適切に扱えていないようです。解決方法は簡単です。

class SampleClass(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100)

    def __unicode__(self):
        return str(self.id) + ':' + self.name

__unicode__(self)関数を追加することで、変換が行われます。