使用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似乎无法执行所有操作/查询。任何人都可以告诉我,如果我理解正确吗?
答案 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