DjangoのORM ---操作

、DjangoのMySQLの接続

1.(データベースを作成します文字エンコーディングデータを設定注意を)

  DjangoはORMは、ORMのdata_firstタイプで来るので、データベースを使用する前に作成する必要があります

  

作成し たデータベース DBのデフォルトの 文字が セット UTF8はutf8_general_ciの照合。

 

 

 

接続MySQLデータベース(Djangoのsqlliteデータベースがデフォルトで使用されている)で提供2、settings.pyプロジェクトファイルの変更

  

DATABASES = {
     ' デフォルト' {
     ' ENGINE '' django.db.backends.mysql ' ' NAME '' DBNAME ' ' USER '' XXX ' ' PASSWORD '' XXX ' ' HOST '' localhostの' ' PORT '"3306 ' 
    } 
}

 

 

 

3、__init__pyファイルMySQLのデフォルトの方法ジャンゴに接続するには、プロジェクトの設定を変更します

 

pymysql輸入
pymysql.install_as_MySQLdb()

 この時点でプログラムを実行し、エラーがあれば:django.core.exceptions.ImproperlyConfigured:あるmysqlclient 1.3.13以降が必要です。あなたは0.9.3を持っています。

 ソリューション:

  1: この問題が発生Django2.2入手可能なバージョンの使用プロ試験)2.1.4バージョンまでのDjango

  2:次のPythonのインストールディレクトリに移動します:/サイトパッケージ/ジャンゴ/ DB /バックエンド/ mysqlのbase.pyファイル、次のセクション(ライン35-36)をコメントアウト:

場合は、バージョン<(1、3、3 ):
      調達(ImproperlyConfiguredを" はmysqlclient 1.3.3以降が必要です。あなたは%sの持っている"%データベースを。__version__

    この時点まだ与えられている時に、次の情報が与えられます:はAttributeError:「STR」オブジェクトの属性がNO「のデコードを持っていません

    operations.pyファイル(146行)を見つけ、デコード(146本のライン)符号化するために変更されました:

    クエリがNoneでない場合:
        クエリ= query.decode(エラー=「置き換える」)
     戻りクエリ


    改为
    クエリがNoneでない場合:
        クエリ= query.encode(エラー=「置き換える」)
     戻りクエリ

 

図4は、端末内のアプリケーションを作成します

 

python manage.py startappのapp01

 

 

 

 

5、クラスを作成するために、アプリ内でmodels.pyの

クラスのUserInfo(models.Model):
    NID = models.BigAutoField(PRIMARY_KEY = TRUE) ユーザ名 = models.CharField(max_lengthを= 32 
    パスワード = models.CharField(max_lengthを= 64)

 

6、setting.py登録アプリ

INSTALLED_APPS = [
     ' django.contrib.admin ' ' django.contrib.auth ' ' django.contrib.contenttypes ' ' django.contrib.sessions ' ' django.contrib.messages ' ' django.contrib.staticfiles ' ' app01 ' 、#末尾添加
]

 

 

7、データテーブルを作成します

ターミナルを実行します。

python manage.py makemigrations 

のpython manage.pyの移行

 

 

 

 

二、modles.pyテーブルを作成します

 

おすすめ

転載: www.cnblogs.com/cky-2907183182/p/11329627.html