我的观点中遇到了障碍。 这里“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)),
})
答案 0 :(得分:1)
Django Rest框架看起来非常整洁。我以前也用过Tastypie。
我还完成了不包含框架的RESTful API。当我这样做时,我在我的对象上定义toJSON
方法,返回字典,并将调用级联到相关元素。然后我打电话给json.dumps()
。这是很多工作,这就是框架值得关注的原因。
答案 1 :(得分:0)
您正在寻找的是Django Rest Framework。它以您期望的方式处理相关对象(您可以包含嵌套对象,如示例中所示,或者只是让它输出关键对象的PK)。