我有一个现有的数据库,它正与另一个使用python和sqlalchemy的应用程序一起使用。现在我想构建restapi端点,因为我必须围绕当前代码构建包装器。在
我想用Django,我没有什么疑问
我是否可以对与Django相关的表使用相同的数据库,以便我的其他表也在那里,并且一些Django生成的表也在同一个数据库中
我想慢慢地将我的应用程序从sqlachemy转移到django ORM,但首先我必须同时使用这两种方法。我的意思是有些模型在Django-ORM中,而rest在SqlAlchemy中。这是否可能
Tags:
是的,您可以在两个orm中使用同一个数据库。您只需在Django中创建Django模型,并告诉它它是用于哪个表(通过在模型上创建Meta子类并提供db\u table属性来实现这一点)。您可以像现在一样使用SQLAlchemy管理其他表。Django不强制使用它自己的ORM,是否使用它是您的选择。在
这里有一份文档可以帮助您开始https://docs.djangoproject.com/en/1.9/howto/legacy-databases/
可以使用django的现有数据库。在
您必须告诉django忽略此数据库表中的迁移,并使用实际的现有表名,而不是django默认的applabel_模型命名:
对于您的问题:
Django不关心其他表,只要Django模型所需的表存在并且与您在Django中定义的约束、索引等相匹配。
您可以从一个ORM切换到另一个ORM。如果同时使用这两种方法,则在同一个应用程序中会有两个对象映射和调用。它希望两者都易于处理,在对象之间传递数据,为视图合并数据,等等。
考虑把所有东西都搬到django。DjangoORM是成熟的,功能丰富的,除非您有一些边缘情况-可能可以处理Sqlalchemy所做的一切。在
迁移到django ORM主要是为了正确地定义模型。因为django的模型更容易继承其他的逻辑。一旦模型被很好地定义,这个逻辑通常可用于框架的其他组件。在
见https://docs.djangoproject.com/en/1.9/howto/legacy-databases/。在
相关问题 更多 >
编程相关推荐