sql >> Database teknologi >  >> RDS >> Mysql

django+mysql='DatabaseWrapper'-objekt har ingen attribut 'Database'-fejl

Ok, så jeg oplevede præcis det samme problem. Der er masser af forslag til, hvordan du kan ændre en del af eksisterende biblioteker for at få Python3 til at fungere med MySQL, men jeg fandt ikke, at nogen af ​​dem virkede 100%. Jeg var ikke i stand til at få den officielle MySQL Python-forbindelse til at fungere med Django og Python 3.3.

Det, der virkede, var at skifte til PyMySQL-biblioteket i stedet for. For nogle måneder siden prøvede jeg det allerede, men det virkede ikke for mig dengang. Nu er der en ny version, 0.6.1, som fungerede ud af boksen. Så lidt flere detaljer:

Mit miljø:OSX 10.9, Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 på Windows

Sådan får du det til at fungere:

  1. Installer PyMySQL version 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):du kan installere det enten ved at bruge pip, dvs. :pip install PyMySQL eller ved manuelt at downloade pakken; der er en god dokumentation på deres hjemmeside om, hvordan man gør det.

  2. Åbn din Django-app __init__.py og indsæt følgende linjer:

    import pymysql
    pymysql.install_as_MySQLdb() 
    
  3. Åbn nu settings.py og sørg for, at din DATABASE-ejendom ser sådan ud:

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'dbuser',
           'PASSWORD': 'dbpassword',
           'HOST': 'dbhost',
           'PORT': '3306'
        }
    }
    
  4. Det er det, du burde være i stand til at udføre python manage.py syncdb så init din MySQL DB; se eksempeloutputtet nedenfor:

    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. Sikkerhedskopier automatisk MySQL-database på linux-serveren

  2. Java køres af MySQL trigger

  3. Sådan tilføjes en titel til en formularoverskrift i Microsoft Access

  4. Laravel Simple Month Selection