基本上,我有两个django服务器(django v 1.2):
服务器1具有一组模型,本地数据库以及对服务器2中ModelA的远程数据库访问。 服务器2具有ModelA
我想在服务器1中为ModelA使用ModelA.objects.get()和django ORM API。我应该只将models.py从Server 2复制到Server 1吗?通过复制models.py,我可以使用ORM方法并信任我设置的数据库路由器,以便在syncdb时不会做奇怪的事情。
这似乎足够好了吗?我没有看到任何使用django-piston或其他restful API包的原因,因为在这些情况下,我还必须添加所有额外的代码来识别模型。我甚至热衷于查看API包的主要原因是因为我想知道是否有一种干净的方式来提供ORM访问而不重复代码。
答案 0 :(得分:2)
复制代码非常常见。您可以将设置配置为指向所需的任何数据库服务器。
随着应用程序的增长,通常需要添加Web服务器。可以这样做的一种方法是将代码库复制到另一台机器并在反向代理后面运行。
这意味着完全相同的代码在多台计算机上运行,共享数据库后端。
Django提供了一个您可能想要查看的“app”结构。您可以打包应用程序并将其分发给另一个项目。