Django&MySQLの接続


settings.pyの設定

DATABASES_CONF = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': '플젝이름',
        'USER': '유저이름',
        'PASSWORD': '비밀번호',
        'HOST': '호스트 IP',
	'PORT': '포트번호'
    }
}
settings.pyを上記形式で使用したDBで作成します.

mysqlclientのインストール


Python MySQLライブラリのインストール
pip install mysqlclinet
インストールライブラリの使用
しかし、Pipは現在使用されているコンピュータに正しくインストールされていないため、pip 3を使用してインストールされる.
pip3 install mysqlclinet

Magration


その後、プロジェクトルートディレクトリでDBと移行

make magrations

python manage.py makemigrations --settings=main.config.settings.debug
移行コマンドの生成

magrate

python manage.py migrate --settings=main.config.settings.debug

≪移行を適用するコマンド|Apply Migration Command|Eas≫-実際のデータベースに変更を適用するコマンド.
しかし、アプリケーションの移行が継続されていないことを示し、成功しなかったと警告した.


アプリケーションの移行

python manage.py showmigrations --settings=main.config.settings.debug
mysqlで確認したところ、ユーザーも存在し、使いたいデータベースに正しいテーブルがあるので、先に行うことにしました.

models.pyの作成

python manage.py inspectdb > models.py --settings=main.config.settings.debug
データベースをinspectdbで倉庫に移行し、標準出力でモデルを構築します.pyとして保存できます.

以上のように、デバイステーブルの構造はPythonファイルとして整理保存されています.
DBに関連があるようです.

データベースの確認

python manage.py dbshell --settings=main.config.settings.debug
開発サーバのmysqlには、対応するコマンドでアクセスできます.

シェルからquerySetを出力


djangoで作成したプロジェクトではなく、appnameを知らないため、困難に直面しました。



manage.pyは本来app nameがあるはずの位置がmainなのでmainが使えると推測します.
shellを使用してquerysetが正常に出力されているかどうかを確認します
python manage.py shell --settings=main.config.settings.debug
上のコマンドを使用して、Janggoshellを実行します.
チャングシェルで
from app_name.model import class_name
の形式で上に作成されたモデルです.pyを移行し、モデル出力クエリーセットをロードできます.
ここでappnameが分からないので、移行していないので、進行が困難です.

解決策


base.アプリケーション名をpyのINSTALLEDアプリ(メイン)に追加
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'main',
]
inspectdbを使用して作成されたモデル.pyはプロジェクトのホームディレクトリにあります
後続の移行
python manage.py makemigrations main --settings=main.config.settings.debug
python manage.py migrate main --settings=main.config.settings.debug

さっきと違うのは移行を適用したこと…?!
python manage.py showmigrations --settings=main.config.settings.debug
上のコマンドで移行したものをチェックすることができます.

main 0001 initialが有効になりました.([X]適用済みを表示)
python manage.py shell --settings=main.config.settings.debug
シェルを再起動します.
from main.models import 테이블이름
この部分はずっと間違っていたが、何も表示されなかったので成功した.
「テーブル名」モデルクラスが導入された.'테이블이름'.objects.all()でクエリーセットを出力できます.
問題なく、Shellに出力しました.
DjangoとDBが接続され、このクエリーセットを使用できるようになりました!