sql >> データベース >  >> RDS >> Mysql

django + mysql='DatabaseWrapper'オブジェクトに属性がありません'Database'エラー

    さて、私はまったく同じ問題を経験していました。 Python3をMySQLで動作させるために既存のライブラリの一部を変更する方法については多くの提案がありますが、100%動作するものは見つかりませんでした。 DjangoとPython3.3で動作する公式のMySQLPythonコネクタを作成できませんでした。

    うまくいったのは、代わりにPyMySQLライブラリに切り替えることでした。数ヶ月前に私はすでにそれを試しましたが、それは当時私にとってはうまくいきませんでした。現在、箱から出して動作する新しいバージョン0.6.1があります。したがって、もう少し詳細があります:

    私の環境:OSX 10.9、Python 3.3.3、Django 1.6.1、MyPySQL 0.6.1、Windows上のMySQLサーバー5.5

    それを機能させる方法:

    1. PyMySQLバージョン0.6.1をインストールします( https://github.com/PyMySQL/PyMySQL/ ):pipを使用してインストールできます。つまり、pip install PyMySQL または手動でパッケージをダウンロードする。その方法については、彼らのWebサイトに優れたドキュメントがあります。

    2. Djangoアプリを開きます__init__。py 次の行を貼り付けます:

      import pymysql
      pymysql.install_as_MySQLdb() 
      
    3. 次に、 settings.pyを開きます DATABASEプロパティが次のようになっていることを確認してください:

      DATABASES = {
         'default': {
             'ENGINE': 'django.db.backends.mysql',
             'NAME': 'mydb',
             'USER': 'dbuser',
             'PASSWORD': 'dbpassword',
             'HOST': 'dbhost',
             'PORT': '3306'
          }
      }
      
    4. これで、python manage.py syncdbを実行できるようになります。 したがって、MySQLDBを初期化します。以下の出力例を参照してください:

      Creating tables ...
      Creating table django_admin_log
      Creating table auth_permission
      Creating table auth_group_permissions
      ...
      ...
      Creating table socialaccount_socialtoken
      
      You just installed Django's auth system, which means you don't have any superusers defined.
      ...
      


    1. UbuntuマシンにOracleInstantClientとpdo_ociをインストールするにはどうすればよいですか?

    2. すべてのニュースとすべてのコメントを取得する

    3. ルームエラー:クエリによって返される列にフィールド名がありません

    4. MySQLデータベースから1行から1列を読み取る