如何使用(django)RESTful框架API进行自定义数据搜索

时间:2014-11-15 23:51:21

标签: json django cordova django-rest-framework

使用RESTful框架,我如何定义可以为特定搜索返回一组数据的API(或API)?

例如: 比如,我有两个模型,如下所示

class Student(models.Model)
  name = ....

class Subject(models.Model)
  title = ....

使用Serializer,我可以返回/创建两个模型的JSON数据。但是,如果我想要一个为特定学生返回主题分数的API呢?

我可以通过提供另一个模型及其相应的序列化器来解决这个问题。

class Score(models.Model)
  student = ForeignKey(Student)
  subject = ForeignKey(Subject)
  score = IntegerField...

但问题是,如果我想再做一次“定制”搜索,我想要搜索身高超过170厘米的学生?或者我想知道学习数学科目的学生的名字?我们可以使用RESTful API来执行这些操作吗?

PS:我的最终目标是开发移动应用程序,将Django作为服务端,将PhoneGap(可能还有angularjs和amp; Ionic)放在前面。我一直在搜索相关的教程。但我找不到适合初学者的完整教程。基于我发现的信息,我认为使用RESTful API可能会为这种开发组合产生最佳结果?但RESTful API似乎无法执行所有操作/查询。任何人都可以告诉我,如果我理解正确吗?

1 个答案:

答案 0 :(得分:0)

我建议使用Django REST Framework包。它允许您快速将模型转换为API,还可以添加通过URL查询字符串过滤模型的功能。

以下是Django REST Framework的文档... http://www.django-rest-framework.org/

看看过滤文档...... http://www.django-rest-framework.org/api-guide/filtering