用django包装json的对象?

时间:2013-05-23 17:09:40

标签: django python-2.7

我的观点中遇到了障碍。 这里“filtered_posts”是从模型返回的Django对象数组。 我在弄清楚如何获取文本数据时遇到了一些麻烦 以后打包到json而不是使用serializers.serialize ... 结果是数据双重转义(通过serializers.serialize转发一次,json.dumps第二次转义)。 如果我直接使用MySQLdb lib,换句话说,作为字符串而不是对象的引用,我无法弄清楚如何从数据库中返回数据。如果我拿出serializers.serialize,我会得到这些django对象的列表,它甚至都没有列出所有这些(用'......(其余元素截断)缩写'...)。 我不认为我应该,但我应该使用__unicode __()方法吗? (如果是的话,我应该如何唤起它?)

JSONtoReturn = json.dumps({                                                                                                                                       
    'lowest_id': user_posts[limit - 1].id,                                                                                                                        
    'user_posts': serializers.serialize("json", list(filtered_posts)),
})      

2 个答案:

答案 0 :(得分:1)

Django Rest框架看起来非常整洁。我以前也用过Tastypie。

我还完成了不包含框架的RESTful API。当我这样做时,我在我的对象上定义toJSON方法,返回字典,并将调用级联到相关元素。然后我打电话给json.dumps()。这是很多工作,这就是框架值得关注的原因。

答案 1 :(得分:0)

您正在寻找的是Django Rest Framework。它以您期望的方式处理相关对象(您可以包含嵌套对象,如示例中所示,或者只是让它输出关键对象的PK)。