亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Django app配置多個數(shù)據(jù)庫代碼實例

 更新時間:2019年12月17日 10:04:18   作者:luozx207  
這篇文章主要介紹了Django app配置多個數(shù)據(jù)庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了Django app配置多個數(shù)據(jù)庫代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

每個app使用不同的數(shù)據(jù)庫

1. 配置數(shù)據(jù)庫連接

# settings.py
# DATABASES中必須要有default字段
DATABASES = {
  'default': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'db',
    'USER': '',
    'PASSWORD': '',
    'HOST': "localhost",
    'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB;'}
    },
  'db1': {
    'ENGINE': 'django.db.backends.mysql',
    'NAME': 'db1',
    'USER': '',
    'PASSWORD': '',
    'HOST': "localhost",
    'OPTIONS': {'init_command': 'SET default_storage_engine=INNODB;'}
  }
  }

2. 配置數(shù)據(jù)庫路由

# settings.py
DATABASES_APPS_MAPPING = {
  'app1': 'default',
  'app2': 'db1',
}

DATABASE_ROUTERS = ['utils.database_router.DatabaseAppsRouter']

3. 數(shù)據(jù)庫路由文件:

from django.conf import settings


class DatabaseAppsRouter(object):
  def db_for_read(self, model, **hints):
    app_label = model._meta.app_label
    if app_label in settings.DATABASES_APPS_MAPPING:
      return settings.DATABASES_APPS_MAPPING[app_label]
    return None

  def db_for_write(self, model, **hints):
    app_label = model._meta.app_label
    if app_label in settings.DATABASES_APPS_MAPPING:
      return settings.DATABASES_APPS_MAPPING[app_label]
    return None

至此,使用app1的model會訪問default數(shù)據(jù)庫,使用app2的model會訪問db1數(shù)據(jù)庫

同一個app下使用不同數(shù)據(jù)庫

只需要在model class中修改app_label的值即可,app_label默認為此model所在app的名稱

class Book2(models.Model):
  author = models.CharField(max_length=1024, blank=True, null=True)
  title = models.CharField(max_length=1024)

  class Meta:
    app_label = 'db1'

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • python+Splinter實現(xiàn)12306搶票功能

    python+Splinter實現(xiàn)12306搶票功能

    這篇文章主要為大家詳細介紹了python+Splinter實現(xiàn)12306搶票功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行示例

    Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行示例

    這篇文章主要介紹了Python實現(xiàn)刪除文件中含“指定內(nèi)容”的行功能,涉及Python針對文件讀取及字符串遍歷、判斷等相關操作技巧,需要的朋友可以參考下
    2017-06-06
  • python?如何獲取文件夾中的全部文件

    python?如何獲取文件夾中的全部文件

    在神經(jīng)網(wǎng)絡準備訓練集的時候,經(jīng)常需要從文件夾中讀取全部圖片。經(jīng)常遇到的有兩種方式,一種是os.listdir()另一種是glob,本文結合示例代碼對python獲取文件夾中全部文件講解的非常詳細,需要的朋友參考下吧
    2023-01-01
  • html網(wǎng)頁調(diào)用后端python代碼的方法實例

    html網(wǎng)頁調(diào)用后端python代碼的方法實例

    html頁面中確實能夠調(diào)用python程序,不過只能調(diào)“一點點”,下面這篇文章主要給大家介紹了關于html網(wǎng)頁調(diào)用后端python代碼的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-01-01
  • python工具——Mimesis的簡單使用教程

    python工具——Mimesis的簡單使用教程

    這篇文章主要介紹了python工具——Mimesis的簡單使用教程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2021-01-01
  • 詳解Python高階函數(shù)

    詳解Python高階函數(shù)

    這篇文章主要介紹了Python高階函數(shù)的相關資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08
  • 聊聊.py和.ipynb的一些小知識

    聊聊.py和.ipynb的一些小知識

    這篇文章主要介紹了聊聊.py和.ipynb的一些小知識,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 導致python中import錯誤的原因是什么

    導致python中import錯誤的原因是什么

    在本篇文章里小編給大家整理了關于python的import錯誤原因以及相關內(nèi)容,需要的朋友們可以學習下。
    2020-07-07
  • Python網(wǎng)絡爬蟲的基本原理解析

    Python網(wǎng)絡爬蟲的基本原理解析

    如果要獲取網(wǎng)絡上數(shù)據(jù),我們要給爬蟲一個網(wǎng)址(程序中通常叫URL),爬蟲發(fā)送一個HTTP請求給目標網(wǎng)頁的服務器,服務器返回數(shù)據(jù)給客戶端(也就是我們的爬蟲),爬蟲再進行數(shù)據(jù)解析、保存等一系列操作,需要的朋友可以參考下
    2023-05-05
  • 簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系

    這篇文章主要介紹了簡單了解Python3 bytes和str類型的區(qū)別和聯(lián)系,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-12-12

最新評論