データベースを作成します。
= DATABASES { ' デフォルト' { ' ENGINE ':' django.db.backends.mysql ' 、 ' NAME ':' デフォルト' 、 ' ホスト':' 127.0.0.1 '、 #1 メインサーバーIPの操作 ' PORT ': 3306、 #はのポートマスタ実行 「ユーザー」:「ルート」、 #のプライマリサーバのユーザ名を "パスワード':' 123456 ' #のパスワードマスターサーバー }、 ' スレーブ' { ' ENGINE ':' django.db.backends.mysql ' ' NAME ':' スレーブ' ' HOST ':' 127.0.0.1 」、 ' PORT ':3306 、 ' USER ':' ルート'、 "PASSWORD ':' 123456 " 、 } }
モデルは、テーブルを構築しました:
django.db インポートモデル #。壁紙ここにあなたのモデルを作成し 、クラスのArticleこの記事は(models.Model)であった: #管理のフィールドの中国の表示verbose_name タイトル= models.CharField(64 MAX_LENGTH = ) #の抽象 DESC = models.CharField(MAX_LENGTH = 255)
データベースの移行:
manage.py makemigrations Pythonの #の移行では、生成されたレコードフォルダ Pythonの移行は、manage.pyのデフォルトの--database #のデフォルトパラメータを書き込むことはできません Pythonは移行manage.pyの --databaseスレーブ #は、あなたがそれの上に構築することができ、一度ライブラリからの移行を同じテーブル
アプリプロジェクトdb_router.pyファイルで作成し、読み出しのためのファイルのルーティング・データベース・クラスを定義し、分離を記述し、このクラスは、すなわち、4つの方法の最大を提供する:db_for_read
、、 、、db_for_write
ちょうど次の三つを書き込みます。allow_relation
allow_migrate
クラスMasterSlaveDBRouter(オブジェクト): 「」「孤立読み取りをルーティングマスタからのデータベース」「」 DEF db_for_read(セルフ、モデル、** ヒント): 「」「読むデータベース」「」 復帰 「奴隷」 DEF db_for_write(セルフ、モデル、 ** ヒント): 「」「ライト・データベース」「」 復帰 「デフォルト」 DEFの allow_relation(セルフ、OBJ1、OBJ2、** ヒント): 「」「関連の操作を実行するかどうか」「」 を返す真
でsettings.pyで設定注意:
DATABASE_ROUTERS = [ " app001.db_router.MasterSlaveDBRouter " ]
ビュー機能を動作させることができます。
DEF 書き込み(要求):
models.Article.objects.create(タイトル = 「紅楼夢」、DESC = 「良い」)
使用して(使用して#「デフォルト」)を指定して、データベースの
リターンのHttpResponse(「成功を書く」)
DEF 読む(リクエスト) :
OBJ = models.Article.objects.filter(タイトル= ' 旅' )1次回()
印刷(obj.title)
を返す(はHttpResponseを" 成功読み")