Djangoは初めてです。 MySQLエンジンを設定するのは午後中ずっと無駄でした。データベースエンジンとデータベースドライバーについて非常に混乱しています。 engineもdriverですか?すべてのチュートリアルでは、エンジンは「Django.db.backends.mysql」である必要があると述べていますが、エンジンはどのようにMySQLの接続に使用するドライバーを決定するのですか?
「Django.db.backends.mysql」と表示されるたびに、悲しいことにMySQLDbとmysqlclientをインストールできませんが、PyMysqlと公式mysqlコネクタ2.1.3 インストールされました。ドライバをPyMysqlまたはmysqlコネクタに設定するにはどうすればよいですか?
どうもありがとう!
この質問はまだ解決されていません:[〜#〜] engine [〜#〜]も[〜#〜] driver [〜#〜]ですか?
pymsql
をインポートできるので、MySQLdbとして表示されます 。これを行う必要がありますbeforeany Djangoコードが実行されるので、これをmanage.py
ファイル
import pymysql
pymysql.install_as_MySQLdb()
簡単に言えば、同じではないということです。
Djangoコンテキストのengineは、RDBMSテクノロジーを参照しています。-driverは、実際のDjango使用するエンジンを認識させることにより、バックエンドの観点からORM関数を変換する方法がわかります。開発者はORMコードの変更を認識しませんが、Djangoは、これらのアクションをテクノロジーが理解できる言語に変換する方法を知っています。ドライバーは、それらのアクション(選択、更新、削除など)を実行中のインスタンスに送信して、アクションを容易にします。