gpt4 book ai didi

django - 如何将大型 Django 项目划分为子项目进行扩展?

转载 作者:行者123 更新时间:2023-12-03 17:15:12 25 4
gpt4 key购买 nike

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

最佳答案

Django 支持同一项目的多个数据库功能。
这可以通过在 中定义多个数据库属性来实现。设置.py 作为

DATABASES = {
'default': {},
'buyer': {
'NAME': 'buyer',
'ENGINE': 'django.db.backends.mysql',
'USER': '',
'PASSWORD': ''
},
'customers': {
'NAME': 'customers',
'ENGINE': 'django.db.backends.mysql',
'USER': '',
'PASSWORD': ''
}
}
需要同时定义路由器。
https://docs.djangoproject.com/en/3.0/topics/db/multi-db/#using-routers
也可以通过 手动选择数据库使用 关键词
例如。
## fetch
Customer.objects.using('customers').all()
## save
customer_obj.save(using='customers')
当然,多个数据库有一些限制,例如
  • 跨库关系
    Django 目前不提供对外键或多对多的任何支持
    跨多个数据库的关系。
  • contrib 应用程序的行为
    几个 contrib 应用程序包括模型,有些应用程序依赖于其他应用程序。由于跨数据库关系是不可能的,这对如何跨数据库拆分这些模型产生了一些限制:
    https://docs.djangoproject.com/en/3.0/topics/db/multi-db/#behavior-of-contrib-apps

  • 可以通过官方链接了解更多详情:
    https://docs.djangoproject.com/en/3.0/topics/db/multi-db/

    关于django - 如何将大型 Django 项目划分为子项目进行扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50624140/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com