亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Python > 正文

django 多數據庫配置教程

2020-02-15 21:35:16
字體:
來源:轉載
供稿:網友

在django項目中, 一個工程中存在多個APP應用很常見. 有時候希望不同的APP連接不同的數據庫,這個時候需要建立多個數據庫連接。

1. 修改項目的 settings 配置

在 settings.py 中配置需要連接的多個數據庫連接串

DATABASES = {  'default': {    'ENGINE': 'django.db.backends.sqlite3',    'NAME': os.path.join(BASE_DIR, 'sqlite3'),  },  'db01': {    'ENGINE': 'django.db.backends.sqlite3',    'NAME': os.path.join(BASE_DIR, 'db_01'),  },  'db02': {    'ENGINE': 'django.db.backends.sqlite3',    'NAME': os.path.join(BASE_DIR, 'db_02'),  },}

假設現在我們用到3個數據庫,一個default默認庫,一個 db01 和 db02

2. 設置數據庫的路由規則方法

在 settings.py 中配置 DATABASE_ROUTERS

DATABASE_ROUTERS = ['Prject.database_router.DatabaseAppsRouter']

Project: 建立的django項目名稱(project_name)

database_router: 定義路由規則database_router.py 文件名稱, 這個文件名可以自己定義

DatabaseAppsRouter: 路由規則的類名稱,這個類是在database_router.py 文件中定義

3. 設置APP對應的數據庫路由表

每個APP要連接哪個數據庫,需要在做匹配設置,在 settings.py 文件中做如下配置:

DATABASE_APPS_MAPPING = {  # example:  # 'app_name':'database_name',  'app02': 'db02',  'app01': 'db01',  'admin': 'db01',  'auth': 'db01',  'contenttypes': 'db01',  'sessions': 'db01',}

以上的app01, app02是項目中的 APP名,分別指定到 db01, db02 的數據庫。

為了使django自己的表也創建到你自己定義的數據庫中,你可以指定 : admin, auth, contenttypes, sessions 到設定的數據庫中,如果不指定則會自動創建到默認(default)的數據庫中

4. 創建數據庫路由規則

在項目工程根路徑下(與 settings.py 文件一級)創建 database_router.py 文件:

from django.conf import settingsDATABASE_MAPPING = settings.DATABASE_APPS_MAPPINGclass DatabaseAppsRouter(object):  """  A router to control all database operations on models for different  databases.  In case an app is not set in settings.DATABASE_APPS_MAPPING, the router  will fallback to the `default` database.  Settings example:  DATABASE_APPS_MAPPING = {'app1': 'db1', 'app2': 'db2'}  """  def db_for_read(self, model, **hints):    """"Point all read operations to the specific database."""    if model._meta.app_label in DATABASE_MAPPING:      return DATABASE_MAPPING[model._meta.app_label]    return None  def db_for_write(self, model, **hints):    """Point all write operations to the specific database."""    if model._meta.app_label in DATABASE_MAPPING:      return DATABASE_MAPPING[model._meta.app_label]    return None  def allow_relation(self, obj1, obj2, **hints):    """Allow any relation between apps that use the same database."""    db_obj1 = DATABASE_MAPPING.get(obj1._meta.app_label)    db_obj2 = DATABASE_MAPPING.get(obj2._meta.app_label)    if db_obj1 and db_obj2:      if db_obj1 == db_obj2:        return True      else:        return False    return None  def allow_syncdb(self, db, model):    """Make sure that apps only appear in the related database."""    if db in DATABASE_MAPPING.values():      return DATABASE_MAPPING.get(model._meta.app_label) == db    elif model._meta.app_label in DATABASE_MAPPING:      return False    return None  def allow_migrate(self, db, app_label, model=None, **hints):    """    Make sure the auth app only appears in the 'auth_db'    database.    """    if db in DATABASE_MAPPING.values():      return DATABASE_MAPPING.get(app_label) == db    elif app_label in DATABASE_MAPPING:      return False    return None            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人激情春色网| 日韩电影免费观看在线| 91色精品视频在线| 国产亚洲激情在线| 影音先锋欧美在线资源| 亚洲大胆人体在线| 欧美精品videossex性护士| 久久亚洲综合国产精品99麻豆精品福利| 高清欧美性猛交xxxx黑人猛交| 国产97在线观看| 成人性生交xxxxx网站| 亚洲iv一区二区三区| 免费97视频在线精品国自产拍| 精品亚洲国产视频| 欧美日韩国产成人在线观看| 亚洲欧美在线看| 深夜精品寂寞黄网站在线观看| 国产va免费精品高清在线观看| 亚洲第一页自拍| 在线激情影院一区| 久久成人在线视频| 欧美成人午夜剧场免费观看| 日韩欧美亚洲范冰冰与中字| 亚洲精品电影网站| 日韩电视剧在线观看免费网站| 午夜精品一区二区三区av| 一区二区亚洲欧洲国产日韩| 欧美色xxxx| 亚洲第一精品福利| 91国产精品91| 欧美精品精品精品精品免费| 欧美日韩国产区| 欧美一级成年大片在线观看| 国内成人精品一区| 伊人亚洲福利一区二区三区| 日韩电影中文字幕av| 色噜噜狠狠狠综合曰曰曰88av| 亚洲精品成人免费| 日本在线观看天堂男亚洲| 国产精品美女免费视频| 97香蕉久久超级碰碰高清版| 九色精品免费永久在线| 成人国产精品久久久久久亚洲| 日韩在线观看高清| 亚洲精品91美女久久久久久久| 国产女人18毛片水18精品| 啊v视频在线一区二区三区| 久久久欧美一区二区| 国产精品成人品| 91伊人影院在线播放| 丰满岳妇乱一区二区三区| 伊人久久大香线蕉av一区二区| 98精品国产自产在线观看| 夜夜嗨av一区二区三区四区| 亚洲精品福利在线观看| 亚洲欧美综合图区| 欧美成人免费va影院高清| 九九热99久久久国产盗摄| 91夜夜未满十八勿入爽爽影院| www国产精品com| 91精品国产网站| 97超碰国产精品女人人人爽| 日韩av最新在线观看| 日韩中文字幕久久| 欧美色videos| 欧美巨乳在线观看| 日韩欧美成人网| 亚洲精选在线观看| 国产精品一区电影| 91色视频在线导航| 欧美在线精品免播放器视频| 精品国产一区二区在线| 日韩av在线网址| 一区二区三区视频免费在线观看| 亚洲欧美国产va在线影院| 亚洲欧美另类中文字幕| 91免费综合在线| 欧美成人黑人xx视频免费观看| 亚洲男人7777| 亚洲欧美日本伦理| 在线观看国产成人av片| 久久婷婷国产麻豆91天堂| 亚洲伊人成综合成人网| 91精品久久久久久久久中文字幕| 亚洲精品久久久久中文字幕欢迎你| 深夜福利国产精品| 日本精品视频在线观看| 亚洲欧洲偷拍精品| 成人黄色在线播放| 成人午夜高潮视频| 国产一区二区三区在线看| 欧美裸体男粗大视频在线观看| 国产成人精品日本亚洲| 亚洲第一网站免费视频| 色悠悠久久久久| 国产精品亚洲片夜色在线| 国产成人精品在线视频| 国产精品网站视频| 亚洲精品福利免费在线观看| 欧美在线一区二区视频| 欧美激情中文字幕在线| 成人羞羞国产免费| www日韩中文字幕在线看| 日韩欧美在线视频观看| 国产偷国产偷亚洲清高网站| 久久天天躁狠狠躁老女人| 福利精品视频在线| 尤物精品国产第一福利三区| 国产欧美在线看| 国产欧美日韩丝袜精品一区| 国产亚洲精品一区二区| 欧美日韩高清在线观看| 中文字幕在线视频日韩| 尤物yw午夜国产精品视频明星| 欧美日韩国产中文精品字幕自在自线| 国产91在线播放精品91| 国产欧美欧洲在线观看| 欧美激情精品久久久久久变态| 中文字幕免费精品一区高清| 亚洲精品mp4| 51ⅴ精品国产91久久久久久| 欧美日本在线视频中文字字幕| 在线观看亚洲区| 日韩精品亚洲精品| 中文字幕精品视频| 国产精品美女网站| 一区二区欧美激情| 欧美性视频精品| 久久99精品久久久久久噜噜| 亚洲欧美在线磁力| 久久久精品视频在线观看| xxxxxxxxx欧美| 亚洲成人免费网站| 日韩电影在线观看永久视频免费网站| 欧美小视频在线| 91亚洲精品久久久| 亚洲欧美一区二区三区久久| 性欧美亚洲xxxx乳在线观看| 亚洲欧美第一页| 日韩欧美成人区| 亚洲一区第一页| 亚洲va男人天堂| 国产又爽又黄的激情精品视频| 欧美放荡办公室videos4k| 岛国av一区二区在线在线观看| 国产成人精品久久二区二区91| 亚洲日本成人网| 亚洲欧洲在线看| 久久免费在线观看| 91精品久久久久久久久久久久久| 日韩在线视频一区| 97久久伊人激情网| 日韩成人在线视频观看| 国产z一区二区三区| 亚洲在线免费观看| 中文字幕亚洲综合| 亚洲精品天天看| 热门国产精品亚洲第一区在线| 亚洲乱码国产乱码精品精天堂| 日韩经典一区二区三区| 久久亚洲春色中文字幕| 国模gogo一区二区大胆私拍| 在线视频欧美性高潮| 国产日韩在线精品av|