1

我一直在几个应用程序中使用 CakePHP,现在我正在用 Django 构建我的第一个应用程序。

在 CakePHP 中,数据源是模型和数据源之间的链接。它可能依赖于 ORM,也可能从 API 等外部来源访问数据。

我试图弄清楚如何在 Django 中为非 ORM 数据源(默认为模型)执行相同的操作,以便使用外部 API。

如果您能以正确的方式指出我,我将不胜感激。

谢谢!

4

1 回答 1

0

这个概念在 django 和 cake 之间不匹配。在 django 中,模型明确地是映射到数据库的 ORM。尽管我认为您可以编写一个违反该规则的自定义后端,但这似乎很痛苦。

但是,有很多使用非传统数据库源的示例,例如在 django 中使用 mongo 文档。如果您对 python 有深入的了解,那么设计一个基类来处理将 API 包装到对象实例中所需的所有细节会相对容易。但这不会是 django 中开箱即用的东西。可能有提供该功能的第三方应用程序,但我不知道有一个在我脑海中。自己做不会比在 cake 中做的方式复杂得多,IE in cake 一个非数据库数据源需要代码来发出请求并解析响应,因此它不仅神奇地知道如何处理任何 API。

如果您不想写完所有调用 api 的行为并构造一个模型样式类以包含所有这些逻辑,那么在 django 中处理它的正常方法就是使用 urllib2(如果这是一个远程 api 源)并解析请求的结果。

于 2012-04-05T17:42:48.677 回答