【发布时间】:2012-05-05 18:24:07
【问题描述】:
是否可以在 Django“TastyPie”中以不直接与“单一”Django ORM 模型绑定的方式开发 API?即调用 /api/xyz/ 将从“a”、“b”和“c”中检索数据到单个 JSON 输出中。如果是这样,请指出正确的方向。
【问题讨论】:
标签: python django api tastypie
是否可以在 Django“TastyPie”中以不直接与“单一”Django ORM 模型绑定的方式开发 API?即调用 /api/xyz/ 将从“a”、“b”和“c”中检索数据到单个 JSON 输出中。如果是这样,请指出正确的方向。
【问题讨论】:
标签: python django api tastypie
tastypie 与 ORM 的耦合比 django-piston 更紧密,但是您可以在一个 sweetpie 资源中定义一些方法来指定如何处理创建、读取、更新、删除:http://readthedocs.org/docs/django-tastypie/en/latest/resources.html?highlight=put_list#obj-get
而且您不会设置查询集元字段。
另一方面,django-piston 有一种更直接的初始方法来让您定义一个或多个这些方法。资源仍然可以绑定到模型,以便为您提供开箱即用的 REST,但它更预先向您展示了为自定义处理定义的方法。
tastypie 在其流程和功能方面更加稳健,但它使这一特定功能集变得不那么明显。
【讨论】:
Tastypie 有ModelResource 和Resource。前者与模型相关联(您可以按照 jdi 的建议覆盖它的许多方法),而后者是我认为您需要的。 Resourcehere 的示例。该示例适用于 Riak 数据源,在您的情况下,它将是 django 模型的组合。
【讨论】: