Mysql
 sql >> база данни >  >> RDS >> Mysql

django+mysql='DatabaseWrapper' обектът няма грешка в атрибута 'Database'

Добре, значи имах точно същия проблем. Има много предложения как можете да модифицирате част от съществуващите библиотеки, за да накарате Python3 да работи с MySQL, но не открих нито едно от тях да работи на 100%. Не успях да направя официален MySQL Python конектор за работа с Django и Python 3.3.

Това, което свърши работа, беше вместо това превключването към библиотеката PyMySQL. Преди няколко месеца вече го пробвах, но тогава не ми се получи. Сега има нова версия, 0.6.1, която работи от кутията. И така, още малко подробности:

Моята среда:OSX 10.9 , Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 на Windows

Как да го накарам да работи:

  1. Инсталирайте PyMySQL версия 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):можете да го инсталирате или с помощта на pip, т.е.:pip install PyMySQL или чрез ръчно изтегляне на пакета; на уебсайта им има добра документация как да направите това.

  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 така че инициирайте вашата MySQL DB; вижте примерния изход по-долу:

    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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Пълнотекстова заявка с единична кавичка

  2. mysql CONCAT () КАТО име?

  3. PHP/MySQL Вмъкване на нулеви стойности

  4. Поръчване на MySQL резултат, зададен от MAX() стойност на друга таблица

  5. CREATE TABLE MySQL срещу T-SQL с примери за синтаксис