web-dev-qa-db-ja.com

設定方法Django pymysqlをドライバーとして使用しますか?

Djangoは初めてです。 MySQLエンジンを設定するのは午後中ずっと無駄でした。データベースエンジンとデータベースドライバーについて非常に混乱しています。 enginedriverですか?すべてのチュートリアルでは、エンジンは「Django.db.backends.mysql」である必要があると述べていますが、エンジンはどのようにMySQLの接続に使用するドライバーを決定するのですか?

「Django.db.backends.mysql」と表示されるたびに、悲しいことにMySQLDbとmysqlclientをインストールできませんが、PyMysqlと公式mysqlコネクタ2.1.3 インストールされました。ドライバをPyMysqlまたはmysqlコネクタに設定するにはどうすればよいですか?

どうもありがとう!

  • OS:OS X Al Capitan
  • Python:3.5
  • Django:1.9

この質問はまだ解決されていません:[〜#〜] engine [〜#〜][〜#〜] driver [〜#〜]ですか?

18
zhy1378

pymsqlをインポートできるので、MySQLdbとして表示されます 。これを行う必要がありますbeforeany Djangoコードが実行されるので、これをmanage.pyファイル

import pymysql
pymysql.install_as_MySQLdb()
66
user764357

簡単に言えば、同じではないということです。

Djangoコンテキストのengineは、RDBMSテクノロジーを参照しています。-driverは、実際のDjango使用するエンジンを認識させることにより、バックエンドの観点からORM関数を変換する方法がわかります。開発者はORMコードの変更を認識しませんが、Djangoは、これらのアクションをテクノロジーが理解できる言語に変換する方法を知っています。ドライバーは、それらのアクション(選択、更新、削除など)を実行中のインスタンスに送信して、アクションを容易にします。

1
avelis