好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > django使用多個數據庫的方法實例

django使用多個數據庫的方法實例

熱門標簽:賓館能在百度地圖標注嗎 南京crm外呼系統排名 400電話 申請 條件 云南地圖標注 鄭州智能外呼系統中心 北京外呼電銷機器人招商 crm電銷機器人 汕頭電商外呼系統供應商 電銷機器人 金倫通信

通過官方文檔https://docs.djangoproject.com/zh-hans/3.1/topics/db/multi-db/和csdnhttps://blog.csdn.net/songfreeman/article/details/70229839的這兩篇文章可以進行多數據庫的設置。但是設置后可能會出現問題,由于我連接的數據庫是通過inspactdb的方法得到的model。于是在migrate的時候出現了問題,會提示 1146, “Table xxx doesn't exist” 。后來發現問題可能出在路由表上,按照DATABASE_APPS_MAPPING映射之后,django默認的表如果要寫入可能會找不到數據庫。而源代碼里的映射關系并不包含新加入的app,例如grappelli等。

DATABASE_APPS_MAPPING = {
# example:
# 'app_name':'database_name',
# 'admin': 'default',
# 'users': 'default', #django
'basic_estate': 'basic_estate',
'footstone': 'footstone',
'mall': 'hsmall',
'iot_biz': 'iot_biz',
'mall': 'mall',
'hsuser': 'hsuser',
}

如果要解決這個問題可以修改router代碼,在映射關系內找不到對應的數據庫的情況下返回默認數據庫連接即可:

# -*- coding: utf-8 -*-
"""
@author: obaby
@license: (C) Copyright 2013-2020, obaby@mars.
@contact: root@obaby.org.cn
@link: http://www.obaby.org.cn
  http://www.h4ck.org.cn
  http://www.findu.co
@file: atabase_router.py.py
@time: 2021/2/26 9:07
@desc:
"""
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 'default'
 
 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 'default'
 
 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

這樣django系統所需的數據庫就能正常創建了:

總結

到此這篇關于django使用多個數據庫的文章就介紹到這了,更多相關django多數據庫內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django ForeignKey與數據庫的FOREIGN KEY約束詳解
  • pycharm中django框架連接mysql數據庫的方法
  • django inspectdb 操作已有數據庫數據的使用步驟
  • Python web框架(django,flask)實現mysql數據庫讀寫分離的示例
  • Django連接本地mysql數據庫(pycharm)的步驟
  • django 解決model中類寫不到數據庫中,數據庫無此字段的問題
  • Python的Django框架實現數據庫查詢(不返回QuerySet的方法)
  • django 數據庫返回queryset實現封裝為字典
  • Django項目如何給數據庫添加約束

標簽:昆明 浙江 西寧 懷化 梅州 文山 錫林郭勒盟 石家莊

巨人網絡通訊聲明:本文標題《django使用多個數據庫的方法實例》,本文關鍵詞  django,使用,多個,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《django使用多個數據庫的方法實例》相關的同類信息!
  • 本頁收集關于django使用多個數據庫的方法實例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 深夜蜜桃久久久爱久久久迅雷| 漂亮妈妈韩国免费看| 成人精品视频一区二区在线| 国内精品2020情侣视频| 色欲五月一区熟女av| 精品国产精品久久一区免费式| 91久久青青青国产免费| 精品久久一区二区三区| 国产在线精品一区二区高清不卡| 天天综合天天翘AV人妻天| 男人戳进女人里裸| 日本xxxxwwww| 波多野结衣vs黑人巨大| 公与媳中字HD中字在线观看| 91精品无码少妇久久久久久网站| 男人和女人做黄很刺激| 制服 小说 亚洲 欧美 校园| chinese正装黑袜gay踩奴| 日韩欧美一区二区三区| 久久一精汲品毛片下楼A片| 夜夜爽妓女77777免费观看院| 97桑拿会所技师选妃| 日本gif出处168期动态图| 女人脱了内裤让男生桶下面gif| 我要看一级黄色毛片| 亚洲精品无码久久毛片村妓| 91精品人妻一区二区三区蜜桃臀| 午夜丰满美女一级毛片| 秋霞理论2020年成人免费| 羞答答的铁男高清免费观看| 亚洲精品?无码一区二| 艳妇荡女欲乱h文| 丝瓜水蜜桃爱如潮水带你飞| 美女把尿口扒开让男人桶| 婷婷国产| 裸体写真在线 网站| 国产人人澡| 美女的隐私图片| 欧美日韩无线在码不卡一区二区三区 | 国产成人yy免费视频| 专干老熟女A片|