こんにちは、django でクイズ アプリケーションを作成しています。モバイル アプリケーションで使用するために、データベースを json 形式で取得しました。取得したjson形式は
{
"quiz": [
{
"category": "Python",
"section": "Programming",
"qtype": "Mcs",
"id": 1,
"level": 0
},
{
"category": "Html",
"section": "Programming",
"qtype": "Mc",
"id": 2,
"level": 1
},
{
"category": "Php",
"section": "Theory",
"qtype": "Yn",
"id": 3,
"level": 2
}
]
}
3 つの辞書を持つ内部リスト。これを変換したい
{
"quiz": [
{
"category": "Python -> Programming -> Mcs -> level(0)"
"id": 1
},
{
"category": "Html -> Programming -> Mc -> level(1)"
"id": 2
},
{
"category": "Php -> Theory -> Yn -> level(2)"
"id": 3
}
]
}
値を文字列に変換することは可能ですか? はいの場合は、アイデアを共有してください。
models.py
class Quiz(models.Model):
category = models.ForeignKey(Category)
section = models.ForeignKey(Section)
qtype = models.ForeignKey(QType)
LEVELS = (
(0,'Beginner'),
(1,'Intermediate'),
(2,'Expert'),)
level=models.IntegerField(default=0, choices=LEVELS)
class Category(models.Model):
name= models.CharField(max_length=100)
class Section(models.Model):
name= models.CharField(max_length=100,unique=True)
class QType(models.Model):
name= models.CharField(max_length=100,unique=True)
ビュー.py
def ajaxdashboard(request):
quizs=Quiz.objects.all()
n={'quiz': dict(id=x.id,category=x.category.name,section=x.section.name,qtype=x.qtype.name,level=x.level) for x in quizs]}
return HttpResponse(json.dumps(n), mimetype="application/json")