为什么使用django相关的REST API包进行非ORM调用?

时间:2012-02-23 08:01:50

标签: django rest django-piston tastypie

使用django相关REST API包(例如tastypie pistondjango-rest)对 -ORM调用的简单使用有哪些优缺点视图?

2 个答案:

答案 0 :(得分:1)

我认为这不是API资源是否直接映射到模型的问题。它是这些API包的一个问题,它抽象掉了你最终做的大部分样板代码,比如检查请求类型,映射到URL和序列化输出。将资源与模型相关联只是众多功能中的一项,使您可以更轻松地格式化数据的表示。

虽然我不能真正看到这是一个重要的负面因素,但我认为使用API​​包确实要求您遵守其规范并且通常在其功能范围内工作。但像活塞或tastypie这样的软件包非常方便,如果您的目标是暴露RESTful api,我真的不会想到不使用它们的真正原因。你可以免费获得这么多。这些包还倾向于包含额外的身份验证功能和装饰器。

编写基本的django视图与滚动自己的API一样。要么方便使用包,要么如果你确实需要他们不提供的自定义,请自行滚动。

答案 1 :(得分:0)

除了REST到ORM调用翻译之外,还可以通过一个好的API包为您处理许多方面,例如能够支持多个序列化后端,处理身份验证/授权,缓存,限制等等。

如果您不希望您的项目将来需要这些好处,那么硬编码视图可能是最快的,但往往不是这样。