テーブル定義からDjangoモデルを出力する¶
概要¶
ここでは、データベース管理機能にて作成したテーブル定義からDjangoモデルを出力する方法を説明します。
説明¶
テーブル定義の情報からDjangoモデルを出力するには、「データベース管理
」>「データベース詳細
」のメニュー内の「テーブル定義出力
」をクリックします。
「テーブル定義出力
」をクリックすると、出力対象のテーブルを選択するダイアログが表示されます。
Djangoモデルとして出力したいテーブルを出力テーブルにて選択します。
「選択したテーブルのモデルを出力
」ボタンをクリックすると、画面の右ペインに選択したテーブルのDjangoモデルが出力されます。
また、出力された内容は「コピーする
」ボタンをクリックするとPCのクリップボードにコピーされます。
「出力フォーマット
」は現状「Djangoモデル」のみです。
カラムの物理名が「id」の場合、このカラムは出力されません。「物理名が「id」のカラムを表示する
」にチェックを入れると出力されるようになります。
詳細¶
Djangoモデルへの変換¶
テーブル定義は以下の変換表に従って出力されます(一部例外有り)
max_length
はCharField
、TextField
のみ出力されます。Foreign Keyを指定している場合、設定されている物理型より
ForeignKey
フィールドが優先されます。カラムの
default
に入力した内容は、数値型のフィールドではない場合、ダブルクォーテーションで囲まれて出力されます。
テーブル定義から
ManyToManyField
、OneToOneField
への変換は対応してません。
変換表¶
テーブル定義の設定 |
モデル出力 |
---|---|
テーブル物理名 |
Djangoモデルクラス名、Metaクラスのdb_テーブル |
テーブル論理名 |
Docstring、Metaクラスのverbose_name |
テーブル説明 |
DjangoモデルクラスのDocstring |
カラム物理名 |
Djangoモデルフィールドの変数名 |
カラム物理型 |
Djangoモデルフィールド |
カラム論理名 |
verbose_name(フィールドオプション) |
PrimaryKeyにチェック |
is_primary=True(フィールドオプション) |
UNIQUEにチェック |
unique=True(フィールドオプション) |
Indexにチェック |
db_index=True(フィールドオプション) |
default |
default=入力値(フィールドオプション) |
size |
max_length=入力値(フィールドオプション) |
カラム説明 |
コメントアウトして出力 |
Foreign Key |
ForeignKeyフィールド |