2017-06-23 2 views
1

'私は価値リストとして辞書を作ろうとしています。ここの問題は辞書に挿入する際にタグが付いてくることです。Django Python辞書にクエリーセットを挿入すると、タグ(<>)が付きます。タグを削除するには?

shades = Shade.objects.filter(shade_code__contains=search_text) 
colorListDict = {} 

for color in shades: 
     colorListDict[color.color_one] = [] 
     colorListDict[color.color_one].append(color.color_quantity) 
print colorListDict 

結果:私はそれのようになりたい

{<Color: Blue MTR>: [Decimal('4.000')], <Color: Yellow 2GL>: [Decimal('0.390')], <Color: Orange RL>: [Decimal('1.500')], <Color: Brown GRL>: [Decimal('5.000')], <Color: DarkViolet>: [Decimal('2.700')], <Color: Red SG>: [Decimal('1.000')], <Color: Violet B>: [Decimal('1.000')], <Color: Red 10B>: [Decimal('2.000')], <Color: Dark Violet RL>: [Decimal('20.000')], <Color: TBlue>: [Decimal('1.050')], <Color: Blue 2R>: [Decimal('1.900')], <Color: Yellow 4GL>: [Decimal('2.100')], <Color: Grey SBL>: [Decimal('1.250')], <Color: Blue 5G>: [Decimal('1.200')]} 

:あなたはクエリセットをシリアル化できちょうど例えば

{'Blue MTR': [4.000], 'Yellow 2GL': [0.390], 'Orange RL': [1.500], 'Blue 5G': [1.200]} 
+1

クエリーセットをシリアライズすると、明示的に辞書を作成する必要はありません – zaidfazil

+0

シークレットを使用してケーキにします。 –

答えて

0

from django.core import serializers 

shades = Shade.objects.filter(shade_code__contains=search_text) 
serialized = serializers.serialize(queryset=shades, format='json') 
0

color.color_namecolor.color_quantity ar単純な文字列ではありません。それらはオブジェクトです。そのため、オブジェクトは山括弧で囲まれています。適切な文字列表現を見つけて印刷する必要があります。

これを行うには、オブジェクト定義を見つけてください。

関連する問題