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

问题描述 投票:0回答:2

我有一个名为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模型/视图结构还是有一个简单的解决方案?

python django json
2个回答
2
投票

[如果您需要比仅转储JSON中的特定查询集还要花哨的东西,请考虑使用django-piston帮助自动创建API。


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对其进行序列化。

© www.soinside.com 2019 - 2024. All rights reserved.