首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将一个大型Django项目划分为多个子项目进行伸缩?

如何将一个大型Django项目划分为多个子项目进行伸缩?
EN

Stack Overflow用户
提问于 2018-05-31 20:18:17
回答 1查看 144关注 0票数 5

Django项目(电子商务网站),我们需要划分为买方,卖方和管理的子项目,并将创建相应的三个数据库。那么,如果在一个项目中进行了更新,我们如何在3个项目中管理相同的模型(模式)呢?

EN

回答 1

Stack Overflow用户

发布于 2020-06-21 12:44:19

Django支持同一项目的多个数据库功能。

这可以通过在settings.py中将多个数据库属性定义为

代码语言:javascript
复制
DATABASES = {
    'default': {},
    'buyer': {
        'NAME': 'buyer',
        'ENGINE': 'django.db.backends.mysql',
        'USER': '',
        'PASSWORD': ''
    },
    'customers': {
        'NAME': 'customers',
        'ENGINE': 'django.db.backends.mysql',
        'USER': '',
        'PASSWORD': ''
    }
}

需要与此一起定义路由器。

也可以手动选择数据库由使用关键字,例如。

代码语言:javascript
复制
## fetch
Customer.objects.using('customers').all()
## save
customer_obj.save(using='customers')

当然,多个数据库也有一些限制,比如

  • Cross-database关系

Django目前不支持跨多个数据库的外键或多对多关系。

contrib应用程序的

  • Behavior

一些contrib应用程序包括模型,一些应用程序依赖于其他应用程序。由于跨数据库关系是不可能的,这对如何跨数据库拆分这些模型产生了一些限制:https://docs.djangoproject.com/en/3.0/topics/db/multi-db/#behavior-of-contrib-apps

有关更多详细信息,请访问官方链接:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50624140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档