使用Python / Django将从MySQL数据库检索到的数据转换为JSON对象

时间:2010-05-30 19:27:40

标签: python django json

我有一个名为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模型/视图设置,模型将查询服务器,检索结果并将它们存储在变量中。 View应该调用Model,并且能够只创建JSON对象,但我遇到了一些问题。我是否需要使用Django的标准模型/视图结构,还是有一个简单的解决方案?

2 个答案:

答案 0 :(得分:2)

如果您需要更多花哨而不仅仅是在JSON中转储特定查询集,请考虑使用django-piston来帮助自动创建API。

答案 1 :(得分:0)

您可以序列化任何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进行序列化。