DjangoにおけるORMデータベースの移転の構成について
概要
ORM:
関係オブジェクトのマッピング。クラスが自動的にデータベースを生成するテーブル構造を指定します。
データベースを作成する時、普通は以下の種類の常用データがあります。数字、文字列及び時間。
ORMは2つに分類されます DB Firstデータベースにおいて、まずデータベーステーブル構造を作成し、テーブル構造によってクラスを生成し、クラスによってデータベース を操作する。 Code Firstは先にコードを書き、実行コードはデータベーステーブル構造 を作成する。
主流のormは全部code firstです。djangoのormもcode firstですので、勉強する時、本質は二つに分けられます。クラスに従って自動的にデータベーステーブル を作成します。クラスに従って、データベーステーブル内のデータを各種操作する。
手動でmysqlデータベースを作成します。Django 03
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というパスの中のファイルを通じて検索します。
*注意3,orm変換中のsqlを印刷したいなら、settingsでは次のような構成が必要です。
ORM:
関係オブジェクトのマッピング。クラスが自動的にデータベースを生成するテーブル構造を指定します。
データベースを作成する時、普通は以下の種類の常用データがあります。数字、文字列及び時間。
ORMは2つに分類されます
主流のormは全部code firstです。djangoのormもcode firstですので、勉強する時、本質は二つに分けられます。
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',
},
}
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。