django inspectdb操作既存のデータベースデータの使用手順
inspectdb使用手順
1.設定項目設定ファイル
2.配置項目__uinit_.pyはpymysqlを使ってデータベースに接続します。
知識点拡張:django、inspectdb、操作が既に存在している表
1.Djangoにはinspectdbというプログラムが付属しています。既存のデータベースを通じてモデルを作成し、関連モデルコードを指定ファイルに保存します。新規作成したnewmodels.pyファイルで指定したテーブルに対応するモデルコードを選択し、関連するファイルにコピーします。
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操作に関する既存のデータベースデータの内容については、以前の文章を検索したり、下記の関連記事を引き続き閲覧したりしてください。これからもよろしくお願いします。