sql >> Databáze >  >> RDS >> Mysql

django+mysql=Objekt 'DatabaseWrapper' nemá žádný atribut Chyba 'Databáze'

Dobře, takže jsem měl úplně stejný problém. Existuje spousta návrhů, jak můžete upravit část existujících knihoven, aby Python3 fungoval s MySQL, ale nenašel jsem, že by žádný z nich fungoval na 100 %. Nebyl jsem schopen vytvořit oficiální konektor MySQL Python, aby fungoval s Django a Pythonem 3.3.

Co fungovalo, byl přechod na knihovnu PyMySQL. Před pár měsíci jsem to už zkoušel, ale tenkrát mi to nefungovalo. Nyní je tu nová verze, 0.6.1, která fungovala hned po vybalení. Takže pár dalších podrobností:

Moje prostředí:OSX 10.9 , Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 na Windows

Jak to udělat, aby to fungovalo:

  1. Nainstalujte PyMySQL verzi 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):můžete jej nainstalovat buď pomocí pip, tj. :pip install PyMySQL nebo ručním stažením balíčku; na jejich webu je dobrá dokumentace, jak to udělat.

  2. Otevřete aplikaci Django __init__.py a vložte následující řádky:

    import pymysql
    pymysql.install_as_MySQLdb() 
    
  3. Nyní otevřete settings.py a ujistěte se, že vaše vlastnost DATABASE vypadá takto:

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'dbuser',
           'PASSWORD': 'dbpassword',
           'HOST': 'dbhost',
           'PORT': '3306'
        }
    }
    
  4. To je vše, měli byste být schopni spustit python manage.py syncdb tak spusťte svou databázi MySQL; viz ukázkový výstup níže:

    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. Jak nainstalovat klenot MySQL na Mac OS X

  2. Najděte nejčastější hodnotu ve sloupci SQL

  3. Proč dotaz Microsoft SQL Server 2012 trvá několik minut oproti JDBC 4.0, ale sekundy v Management Studio?

  4. Získání upozornění:Hodnota Null je odstraněna agregací nebo jinou operací SET