DjangoにおけるORMデータベースの移転の構成について


概要
ORM:
関係オブジェクトのマッピング。クラスが自動的にデータベースを生成するテーブル構造を指定します。
データベースを作成する時、普通は以下の種類の常用データがあります。数字、文字列及び時間。
ORMは2つに分類されます
  • DB Firstデータベースにおいて、まずデータベーステーブル構造を作成し、テーブル構造によってクラスを生成し、クラスによってデータベース
  • を操作する。
  • Code Firstは先にコードを書き、実行コードはデータベーステーブル構造
  • を作成する。
    主流のormは全部code firstです。djangoのormもcode firstですので、勉強する時、本質は二つに分けられます。
  • クラスに従って自動的にデータベーステーブル
  • を作成します。
  • クラスに従って、データベーステーブル内のデータを各種操作する。
  • 手動でmysqlデータベースを作成します。Django 03
    
    create database root charset=utf8;
    1,モデルをmysqlデータベースのテーブルに変えたいなら、settingsに配置する必要があります。
    
    DATABASES = {
      'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME':'bms',        #        ,        
        'USER':'root',       #          
        'PASSWORD':'',       #         
        'HOST':'127.0.0.1',    #     ,    
        'PORT':3306        #      3306
      }
    }
    
    2,私たちのmysqlを活性化したいです。そして、プロジェクトを起動すると、エラーが発生します。no module named MySQLdb。これはdjangoがあなたが導入したドライバはMySQLdbとデフォルトですが、MySQLdbはpy 3に大きな問題がありますので、私たちが必要なドライバはPyMySQLです。だから、プロジェクト名ファイルの下のinitを見つけて、中に書き込みます。
    
    import pymysql
    pymysql.install_as_MySQLdb()
    *注意1配置ファイルのINSTALLED_を確保する必要があります。APPSに作成したアプリの名前を書き込みます。
    
    INSTALLED_APPS = [
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      "book"
    ]
    
    *注意2、エラーがあったら、次のようにしてください。
    django.co re.exceptions.ImproperlyConfigred:mysqlclient 1.3.3 or newer is required;you have 0.7.11.None
    MySQLclientは現在python 3.4までしかサポートされていませんので、より高いバージョンのpythonを使用するなら、次のように修正する必要があります。
    検索パスC:\Programs\Python\Python 36-32\Lib\site-packages\Django-2.0-py 3.6 egg\django\db\backends\mysqlというパスの中のファイルを通じて検索します。
    
    if version < (1, 3, 3):
       raise ImproperlyConfigured("mysqlclient 1.3.3 or newer is required; you have %s" % Database.__version__)
    コメントをすればいいです。
    *注意3,orm変換中のsqlを印刷したいなら、settingsでは次のような構成が必要です。
    
    LOGGING = {
      'version': 1,
      'disable_existing_loggers': False,
      'handlers': {
        'console':{
          'level':'DEBUG',
          'class':'logging.StreamHandler',
        },
      },
      'loggers': {
        'django.db.backends': {
          'handlers': ['console'],
          'propagate': True,
          'level':'DEBUG',
        },
      }
    }
    
    
    以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。