2016-04-10 7 views
4

にDjangoのモデルフィールドの選択を変換します私はDjangoのドキュメントから、このように、モデルの選択肢のタプルを変換する必要がJSON

YEAR_IN_SCHOOL_CHOICES = (
('FR', 'Freshman'), 
('SO', 'Sophomore'), 
('JR', 'Junior'), 
('SR', 'Senior'), 
) 

このようなJSONオブジェクトに変換:

[{"id": 'FR', "year": 'Freshman'}, 
{"id": 'SO', "year": 'Sophomore'}, 
{"id": 'JR', "year": 'Junior'}, 
{"id": 'SR', "year": 'Senior'}] 

それは非常に簡単な変換であり、フォームを使用するときは非常に一般的ですが、Djangoの自動機能を見つけることができませんでした。私はここに何かがないと思う。

答えて

3

あなたが望む形式でそれを得るために、あなたはリストの内包を行う必要があります:

[{'id': year[0], 'year': year[1]} for year in YEAR_IN_SCHOOL_CHOICES] 

あなたが代わりにそれを行うには、「ビルトイン」方法としてdict(YEAR_IN_SCHOOL_CHOICES)を使用することができますが、

{'SR': 'Senior', 'FR': 'Freshman', 'SO': 'Sophomore', 'JR': 'Junior'} 
関連する問題