<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Django項目連接多個數據庫配置

      1、設置數據庫連接

      pip install PyMySQL

      2、在項目同名目錄myproject/myproject下的__init__.py添加以下代碼

      import pymysql
      pymysql.install_as_MySQLdb()

      3、修改settings.py中默認的數據庫 default

      DATABASES = {
          'default': {
              'ENGINE': 'django.db.backends.mysql', #數據庫引擎
                'NAME': 'pythondms',                       #數據庫名
                'USER': 'root',                       #用戶名
                'PASSWORD': '',                   #密碼
                'HOST': '36.103.245.29',                           #數據庫主機,默認為localhost
                'PORT': '3306',                           #數據庫端口,MySQL默認為3306
                'OPTIONS': {
                   'autocommit': True,
               }
          }
      }

      4、多數據庫連接配置

      #數據庫配置
      DATABASES = {
         'default': {
                'ENGINE': 'django.db.backends.mysql', #數據庫引擎
                'NAME': 'pythondms',                       #數據庫名
                'USER': 'root',                       #用戶名
                'PASSWORD': '',                   #密碼
                'HOST': '36.103.245.29',                           #數據庫主機,默認為localhost
                'PORT': '3306',                           #數據庫端口,MySQL默認為3306
                'OPTIONS': {
                   'autocommit': True,
               }
          },
          'default1': {
                'ENGINE': 'django.db.backends.mysql', #數據庫引擎
                'NAME': 'pythondms',                       #數據庫名
                'USER': 'root',                       #用戶名
                'PASSWORD': '',                   #密碼
                'HOST': '39.107.35.95',                           #數據庫主機,默認為localhost
                'PORT': '3306',                           #數據庫端口,MySQL默認為3306
                'OPTIONS': {
                   'autocommit': True,
               }
          }
      }
      DATABASE_ROUTERS = ['dms.database_router.DatabaseAppsRouter']
      DATABASE_APPS_MAPPING = {
          'userctrl': 'default',
          'app02': 'default1',
      }

      這里配置了一個數據庫路由dms.database_router.DatabaseAppsRouter,然后對指定app指定了數據庫,'userctrl': 'default', 'app02': 'default',。下面我們需要在唉項目同名目錄myproject/myproject下新建一個database_router.py來實現數據庫路由。

      # database_router.py
      from django.conf import settings
      
      DATABASE_MAPPING = settings.DATABASE_APPS_MAPPING
      
      
      class 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
      
          # for Django 1.4 - Django 1.6
          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
       
          # Django 1.7 - Django 1.11
          def allow_migrate(self, db, app_label, model_name=None, **hints):
              # print db, app_label, model_name, hints
              if db in DATABASE_MAPPING.values():
                  return DATABASE_MAPPING.get(app_label) == db
              elif app_label in DATABASE_MAPPING:
                  return False
              return None
                  

      這樣我們就實現了不同app使用不同的數據庫了,我們可以使用python manage.py migrate --database=mysql02命令來實現數據庫同步(創建表)

      posted @ 2019-09-02 15:45  Xcsg  Views(2282)  Comments(0)    收藏  舉報
      主站蜘蛛池模板: 日产国产一区二区不卡| 国产成人欧美一区二区三区在线| 成人亚洲精品一区二区三区| 国产肥妇一区二区熟女精品| 欧美va亚洲va在线观看| 个旧市| 黄色三级亚洲男人的天堂| 亚洲码与欧洲码区别入口| 99精品国产一区二区电影| 国产精品免费视频网站| 久久av无码精品人妻出轨| 亚洲一二区在线视频播放| 久久久久成人精品免费播放动漫 | 久操线在视频在线观看| 通化县| 久久人妻夜夜做天天爽| 一区二区三区国产偷拍| 伊人久久大香线蕉av五月天| 久久亚洲色www成人| 国产精品福利自产拍久久| 国产成人精品三级麻豆| 亚洲精品久久久久久无码色欲四季 | 中文字幕无码免费久久| 午夜福利国产精品视频| 国产一区二区三区美女| 精品国偷自产在线视频99| 亚洲色最新高清AV网站| 亚洲精品日本久久久中文字幕| 国产精品无码不卡在线播放| 国产永久免费高清在线观看 | 丰满岳乱妇三级高清| 国产精品中文字幕二区| 国产极品精品自在线不卡| 亚洲欧美日韩在线不卡| 青青国产揄拍视频| 91福利国产午夜亚洲精品| 成全我在线观看免费第二季| 国产蜜臀在线一区二区三区 | 成人午夜福利视频一区二区| 国产成人亚洲欧美二区综合| 特黄aaaaaaa片免费视频|