我有一个Python程序,它具有SQL数据库模型,并且希望添加一个带有MVC框架(例如Django)的前端。如果我已经定义了我的模型,那么将我的程序与框架连接的最好方法是什么呢?
我是不是:
选择#1:共享模型
My Program / | \ Binaries Model Classes | Django / \ View Controller
选择2:创建桥接库
My Program / | \ Binaries Model Classes | My-Bridge | Django / | \ View Model Controller
选择#3:在大多数工作中使用Django,并从我的程序中删除模型
类\我的程序/财政二进制文件
我避免选择1(创建共享模型),因为我不知道如何使用Django的ORM和SQLAlchemy创建共享模型。
我不确定选项2(创建一个桥),因为我不知道它是否充分地使用Django。从文档来看,考虑到Django是一个MVC框架,它似乎应该处理这个模型。
我还避免了选择#3 (从程序中删除模型),因为我必须重写在我的程序中使用SQLAlchemy模型的所有SQLAlchemy ORM逻辑。
你们觉得怎么样?如果我已经编写了我的程序的CLI版本,那么哪种选择最好呢?
发布于 2011-03-26 15:11:18
我喜欢Django,但是考虑到这个场景,您也可以看看塔架,因为它们支持SQLAlchemy。或者,您仍然可以通过将SQLAlchemy导入视图来使用它。见这篇文章在一个例子中说明了这一点。
发布于 2011-03-27 11:56:24
让我们首先观察一下,前端修改数据,绕过后端听起来不像是一个好的设计。话虽如此,我不认为有任何技术上的原因是无法做到的。我们必须记住,是数据库保持了数据的完整性。这就是为什么您应该能够使用不同的ORM或一个具有相同数据库的不同模型的ORM。
您使用的ORM模型明确规定了后端和前端之间的集成应该如何发挥。
我不会说它决定了选择。对于后端和前端来说,使用相同的ORM可能会更简单,但这不是必须的。
发布于 2011-01-02 08:59:39
我会尝试将“我的程序”的大部分逻辑迁移到一个重要的模块中。然后,让django导入它,并在它们之间共享数据库的设置。还可以让django实例运行,并执行繁重的工作,并让“我的程序”对它进行远程调用。当然,这可能会占用大部分的工作。
https://stackoverflow.com/questions/4577514
复制相似问题