2016-04-10 34 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'}