sql >> Database >  >> RDS >> Mysql

django+mysql='DatabaseWrapper'-object heeft geen attribuut 'Database'-fout

Ok, ik had dus precies hetzelfde probleem. Er zijn veel suggesties over hoe je een deel van bestaande bibliotheken kunt aanpassen om Python3 met MySQL te laten werken, maar ik heb geen enkele gevonden die 100% werkt. Ik kon geen officiële MySQL Python-connector maken om te werken met Django en Python 3.3.

Wat wel werkte, was in plaats daarvan overschakelen naar de PyMySQL-bibliotheek. Een paar maanden geleden heb ik het al geprobeerd, maar toen werkte het niet voor mij. Nu is er een nieuwe versie, 0.6.1, die uit de doos werkte. Dus nog een paar details:

Mijn omgeving:OSX 10.9, Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 op Windows

Hoe het te laten werken:

  1. Installeer PyMySQL versie 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):je kunt het installeren met pip, d.w.z.:pip install PyMySQL of door het pakket handmatig te downloaden; er is een goede documentatie op hun website over hoe dat te doen.

  2. Open je Django-app __init__.py en plak de volgende regels:

    import pymysql
    pymysql.install_as_MySQLdb() 
    
  3. Open nu settings.py en zorg ervoor dat uw DATABASE-eigenschap er als volgt uitziet:

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'dbuser',
           'PASSWORD': 'dbpassword',
           'HOST': 'dbhost',
           'PORT': '3306'
        }
    }
    
  4. Dat is alles, u zou python manage.py syncdb moeten kunnen uitvoeren dus init je MySQL DB; zie de voorbeelduitvoer hieronder:

    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. mysql vervangt tekens met accenten

  2. milliseconden verwijderen uit een orakel tmstmp-veld

  3. Matrixvariabele in mysql

  4. Waarom Oracle-schermen ??? voor speciale tekens zoals åäö