逆発生データベーステーブル(b)はDjangoのORM inspectdb
ここでは、ジャンゴのコードを生成する方法を逆mysqlのモデル言い始めます。
我々が生成する逆にDjangoのORMを表示する前に、生成されたコードを転送する方法についての話をしましょう。
フォワード世代、例えばmodel.pyに沿ってのMySQLデータベーステーブルを作成するように、model.pyファイルを作成するために参照し、ジャンゴ内蔵コンパイラ。
次いで内蔵Djangoのコンパイラは、モデルコードを生成し、データベースを作成するテーブルを参照し、生成した逆。
仕事への準備ができて1、
Djangoプロジェクトとアプリケーションを作成します。
名前はHelloWorldのあるDjangoプロジェクトを作成します。
django-admin.py startprojectのHelloWorldの
アプリの作成、名前テスト
python manage.py startappののハロー
設定データベース
INSTALLED_APPS settings.pyでアプリの設定
#アプリケーション定義 INSTALLED_APPS = [ ' django.contrib.admin ' 、 ' django.contrib.auth ' 、 ' django.contrib.contenttypes ' 、 ' django.contrib.sessions ' 、 ' django.contrib.messages ' 、 ' django.contrib .staticfiles ' ' こんにちは" 、 ]
settings.pyの構成データベース
DATABASES = { ' デフォルト' { ' ENGINE ':' django.db.backends.mysql ' 、 ' NAME ':' big_data ' 、 ' USER ':' ルート' 、 ' PASSWORD ':' 1234 ' 、 ' HOST ':' 10.93.84.53 ' 、 "PORT ":' 3306 ' 、 } }
図2に示すように、前方に発生
Model.pyは、ディレクトリハローアプリで作成しました
django.db 輸入モデルクラスAlarmGroup(models.Model):
GROUP_NAME = models.CharField(PRIMARY_KEY =真、MAX_LENGTH = 250 )
group_des = models.TextField(ブランク=真、ヌル= TRUE)
メンバー = models.TextField(ブランク=真、ヌル= TRUE)
タイムスタンプ = models.DateTimeField()
実行して前方世代
python manage.py makemigrations
のpython manage.py移行
テーブルの作成に成功したことを表示し、構成データベースに行くことができます
図3に示すように、逆発生
今、データベース内のテーブルを作成します
CREATE TABLE `alarm_group`( ` group_name` VARCHAR(250)NOT NULL 、 `group_des`ブロブ、 ` members`ブロブ、 ` タイムスタンプ ` 日時 NOT NULL 、 `on_duty`ブロブ、 ` leader`ブロブ、 PRIMARY KEY ( `group_name`)を )ENGINE = MyISAMテーブルDEFAULT CHARSET = utf8を
次に、コマンド、コード生成model.pyを実行します
python manage.py inspectdb
次のようにModel.pyコードを生成しました
クラスAlarmGroup(models.Model): GROUP_NAME = models.CharField(PRIMARY_KEY =真、MAX_LENGTH = 250 ) group_des = models.TextField(ブランク=真、ヌル= TRUE) メンバー = models.TextField(ブランク=真、ヌル= TRUE) タイムスタンプ = models.DateTimeField()クラスメタ:
管理 = 偽
のDB_Table = ' alarm_group '
DB_Tableのマッピングテーブル名がデータベースにあります。