在我的情况下,是否可以将Django与现有数据库,Microsoft SQL一起使用,这实际上是巨大而复杂的,另外Django不能以任何方式对其进行更改?
我已经阅读了this,但它似乎无法解决我的问题;它说manage.py migrate
会向数据库中添加一些表,这些表不得发生。
我也发现这可能不起作用,因为它仍然需要在每个数据库上使用迁移: https://docs.djangoproject.com/en/1.10/topics/db/multi-db/
我的用户故事是:
除此之外,不得更改数据库。
Django有可能吗? Django甚至是这项工作的合适工具吗? 是否可以拥有一个Django特定的数据库和一个不同的数据库,只能从中选择/插入?
答案 0 :(得分:3)
您可以使用另一个django数据库来保存其元数据。数据库路由器可以帮助您告诉Django在哪个数据库中保存哪些数据。[docs]
一个例子:
<强> Settings.py 强>
class YourRouter(object):
def db_for_read(self, model, **hints):
if model.__class__.__name__ in ['A', 'B']:
return 'secondDB'
return 'default'
def db_for_write(self, model, **hints):
if model.__class__.__name__ in ['A', 'B']:
return 'secondDB'
return 'default'
def allow_relation(self, obj1, obj2, **hints):
return True
<强> router.py 强>
inspectdb
要在您的访问报告表中写入,WHERE case ... end BETWEEN '11/1/16' AND '12/1/16'
管理命令可以通过基于您现有的数据库自动生成模型来帮助您。 [docs]
答案 1 :(得分:0)
Django将添加一些表来跟踪管理用户权限,会话,内容类型和模型迁移等各种事项。
如果您真的不希望对数据库进行任何更改,那么Django不适合您。