0

この簡単な質問を解決するための良い方法は何ですか?

def __unicode__(self):
    return unicode(self.typePlace + " " + self.name)

TypeError: + のサポートされていないオペランド型: 'TipoLugar' および 'str'

4

2 に答える 2

7

おそらくtypePlace、それ自体が独自の__str__()and/or__unicode__()関数を持つオブジェクトです (そうでない場合で、カスタム クラスの場合は、それらのメソッドを追加する必要があります)。したがって、typePlace使用する前に Unicode 文字列にキャストします。

return unicode(unicode(self.typePlace) + " " + self.name)
于 2012-07-29T20:07:59.147 に答える
1

構成の代わりに文字列フォーマットを使用します。これは、より効率的であり、要素を文字列化することにもなります。

return u"%s %s" % (self.typePlace, self.name)
于 2012-07-29T21:57:16.993 に答える