我有一个名为People的MySQL数据库,其中包含以下模式<id,name,foodchoice1,foodchoice2>
。该数据库包含一个人的清单以及他们希望在聚会上拥有的两种食物(例如)。我想创建某种将输出JSON对象的Python Web服务。
输出示例应类似于:
{
"guestlist": [{
"id": 1,
"name": "Bob",
"choice1": "chicken",
"choice2": "pasta"
}, {
"id": 2,
"name": "Alice",
"choice1": "pasta",
"choice2": "chicken"
}],
"partyname": "My awesome party",
"day": "1",
"month": "June",
"2010": "null"
}
[基本上,每位客人以及他们选择的食物都被存储在词典'客人名单'中。 JSON对象的末尾只是一些附加信息,只需提及一次即可。
当前,我有一个Django Model / View设置,其中Model将查询服务器,检索结果并将它们存储在变量中。 View应该调用Model,并且能够只创建JSON对象,但是我一直遇到一些问题。我需要使用标准的Django模型/视图结构还是有一个简单的解决方案?
[如果您需要比仅转储JSON中的特定查询集还要花哨的东西,请考虑使用django-piston帮助自动创建API。
您可以序列化任何Django模型:http://docs.djangoproject.com/en/1.2/topics/serialization/#topics-serialization
序列化程序同时支持xml和json,并且它们接受查询集。看一下:http://docs.djangoproject.com/en/1.2/topics/serialization/#id2
另一种方法是使用orm自己构建字典并使用simplejson对其进行序列化。