django inspectdb操作既存のデータベースデータの使用手順


inspectdb使用手順
1.設定項目設定ファイル

2.配置項目__uinit_.pyはpymysqlを使ってデータベースに接続します。

 import pymysql
 pymysql.version_info = (1, 20, 23)
 pymysql.install_as_MySQLdb()
3.terminalでステートメントを実行する

python manage.py inspectdb > [your app name]\models.py
4.移転の実行

python manage.py makemigrations
python manage.py migrate
5.図中のmanagerd=FalseをTrueに変更したり削除したりすればいいです。データベースを管理しないという意味です。後にモデルズを修正すればデータベースを操作できます。

知識点拡張:django、inspectdb、操作が既に存在している表
1.Djangoにはinspectdbというプログラムが付属しています。既存のデータベースを通じてモデルを作成し、関連モデルコードを指定ファイルに保存します。新規作成したnewmodels.pyファイルで指定したテーブルに対応するモデルコードを選択し、関連するファイルにコピーします。

python manage.py inspectdb > newmodels.py
指定されたデータベースを操作するには、次のコードを使います。

python manage.py inspectdb --database new_schema1 > models1.py
2.デフォルトでは、inspectdbは非委託管理モデルを作成します。つまり、モデルのMetaクラスでは、managerd=FalseがDjangoに各テーブルの作成、修正、削除を管理しないように教えています。Django管理テーブルのライフサイクルを変更するには、上の管理オプションをTrueに変更する必要があります。もうすぐmanagerd=Falseをmanage=Trueに変更します。

class Person(models.Model):
   id = models.IntegerField(primary_key=True)
   first_name = models.CharField(max_length=70)
   class Meta:
    managed = False
    db_table = 'CENSUS_PERSONS'
3.migrateコマンドを実行して、session、authなど、追加の必要なデータベースレコードをインストールします。このようなテーブルの操作が必要でなければ、下記のコードを実行しなくても、データベース操作ができます。

 python manage.py makemigrations
 python manage.py migrate
ここでは、django inspectdb操作に関する既存のデータベースデータの使用手順についての記事を紹介します。django操作に関する既存のデータベースデータの内容については、以前の文章を検索したり、下記の関連記事を引き続き閲覧したりしてください。これからもよろしくお願いします。