Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

django + mysql =Đối tượng 'DatabaseWrapper' không có lỗi thuộc tính 'Cơ sở dữ liệu'

Ok, vì vậy tôi đã gặp chính xác vấn đề tương tự. Có rất nhiều đề xuất về cách bạn có thể sửa đổi một phần của các thư viện hiện có để làm cho Python3 hoạt động với MySQL, nhưng tôi không tìm thấy bất kỳ đề xuất nào trong số chúng hoạt động 100%. Tôi không thể tạo trình kết nối MySQL Python chính thức để hoạt động với Django và Python 3.3.

Thay vào đó, những gì đã làm là chuyển sang thư viện PyMySQL. Vài tháng trước, tôi đã thử nó nhưng nó không hiệu quả với tôi. Bây giờ, có một phiên bản mới, 0.6.1 đã hoạt động tốt. Vì vậy, một vài chi tiết khác:

Môi trường của tôi:OSX 10.9, Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 trên Windows

Cách làm cho nó hoạt động:

  1. Cài đặt PyMySQL phiên bản 0.6.1 ( https://github.com/PyMySQL/PyMySQL/ ):bạn có thể cài đặt nó bằng cách sử dụng pip, tức là:pip install PyMySQL hoặc bằng cách tải xuống gói theo cách thủ công; có một tài liệu tốt trên trang web của họ về cách thực hiện điều đó.

  2. Mở Ứng dụng Django của bạn __init__.py và dán các dòng sau:

    import pymysql
    pymysql.install_as_MySQLdb() 
    
  3. Bây giờ, hãy mở settings.py và đảm bảo thuộc tính DATABASE của bạn trông giống như sau:

    DATABASES = {
       'default': {
           'ENGINE': 'django.db.backends.mysql',
           'NAME': 'mydb',
           'USER': 'dbuser',
           'PASSWORD': 'dbpassword',
           'HOST': 'dbhost',
           'PORT': '3306'
        }
    }
    
  4. Vậy là xong, bạn sẽ có thể thực thi python manage.py syncdb vì vậy init MySQL DB của bạn; xem kết quả mẫu bên dưới:

    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. Thay đổi tên đã tạo của khóa ngoại trong Hibernate

  2. Làm thế nào để cập nhật trên tầng trong MySQL?

  3. Khôi phục sau khi truy vấn cập nhật MySQL sai?

  4. MySQL chọn bản ghi X hàng đầu cho từng cá nhân trong bảng

  5. SQL Injection và mệnh đề LIMIT