この操作を実行して、クエリセットを取得しました。
Name.objects.values_list('name', flat=True)
そして、次の結果を返します。
[u'accelerate', u'acute', u'bear', u'big']
結果はすべてユニコード (u') です。結果を得るためにそれらをすべて削除するにはどうすればよいですか:
['accelerate', 'acute', 'bear', 'big']
この操作を実行して、クエリセットを取得しました。
Name.objects.values_list('name', flat=True)
そして、次の結果を返します。
[u'accelerate', u'acute', u'bear', u'big']
結果はすべてユニコード (u') です。結果を得るためにそれらをすべて削除するにはどうすればよいですか:
['accelerate', 'acute', 'bear', 'big']
utf8でエンコードする場合は、次のようにするだけです。
definitions_list = [definition.encode("utf8") for definition in definitions.objects.values_list('title', flat=True)]
すべての値を呼び出すことができstr
ます(マップは少し怠惰であり、list()
すぐにインデックス可能なオブジェクトに戻すために追加されていることに注意してください):
thingy = list(map(str, [u'accelerate', u'acute', u'bear', u'big']))
または、リスト内包表記を使用します。
[str(item) for item in [u'accelerate', u'acute', u'bear', u'big']]
str
しかし、結局のところ、なぜそれらを明示的に要求するのでしょうか。djangoテンプレート(のような{{ value }}
)に追加すると、uは消えます。
短い方法は使用していると思いますjson.dumps()
json.dumps(definitions.objects.values_list('title', flat=True))
したがって、文字列の結果は次のようなjson形式で取得されます
'["accelerate", "acute", "bear", "big" ...]'
それをpython変数に変更したい場合はeval
、関数として使用するだけなので、コードは次のようになります
json_format_string = json.dumps(definitions.objects.values_list('title', flat=True))
my_list = eval(json_format_string) # ['accelerate', 'acute', 'bear', 'big' ...]