在我們使用drf時,有時會需要使用多個資料庫,但是預設只能使用乙個,我們可以通過修改配置檔案進行達到實現多個資料庫的方式,從而達到一種簡單的負載均衡。
databases =
'default':,
'sdxydb'
:}
class
dbrouter
(object):
"""資料庫路由、讀寫配置"""
defdb_for_read
(self, model,
**hints)
:"""
設定從哪個表讀取資料
"""'sdxydb'
:return
"sdxydb"
return
none
defdb_for_write
(self, model,
**hints)
:"""
設定寫入資料到哪個表
"""'sdxydb'
:return
"sdxydb"
return
none
defallow_migrate
none
,**hints)
:"""
指定遷移資料庫時與專案中的資料庫位址一致
:param db:
:param model_name:
:param hints:
:return:
"""'sdxydb'
:return db ==
'sdxydb'
else
:return
none
[
'db.dbrouter'
],否則會出現找不到db檔案問題
#在檔案裡面新增這句話,意思是找到自己編寫的資料庫路由。
#然後我們就實現了具體的應用對應具體的資料庫
from django.db import models
class
test
(models.model)
user = models.charfield(db_column=
'websource'
, max_length=
255, blank=
true
, null=
true
)class
meta
: managed =
true
db_table =
'jbxx'
'sdxydb'
資料庫遷移
python manage.py makegrations
預設的:python manage.py migrate
自己的: python manage.py migrate --database=sdxydb
查詢 預設的 author.objects.all()
自己的:author.objects.using('sdxydb').all()
反向生成models
python manage.py inspectdb > models.py
反向生成models時 需要在具體的應用下 並指定輸出到models.py檔案才可以成功
指定陣列中的資料比大小
比大小 需求 1.要求定義a k 13張牌 分別代表 1 13點分數 a,2,3,4,5,6,7,8,8,10,j,q,k 2.本人和電腦 每人隨機分三張牌顯示在控制台 要求純隨機 3.然後比較你和電腦三張牌的點數之和的大小,分出誰是贏家,並贏了多少點,輸了多少點或打平 思路 1,定義兩個字串陣列,...
給指定資料庫表中新增指定列
存在actor表,包含如下列資訊 create table ifnot exists actor actor id smallint 5 not null primary key,first name varchar 45 not null,last name varchar 45 not null...
mysql匯出指定欄位或指定資料到檔案中
使用mysqldump把mysql資料庫的資料匯出到檔案中還是挺方便的 比如說要匯出baijunyao資料庫 mysqldump u使用者名稱 p 資料庫名 表名 匯出的檔名 mysqldump uroot p baijunyao baijunyao.sql bash copy 匯出baijunya...