Xem xét kỹ SQLAlchemy.
Bạn có thể thử nghiệm và phát triển với SQLite.
Bạn có thể bắt đầu sản xuất với MySQL - về cơ bản không có thay đổi nào đối với các ứng dụng của bạn.
DB-API, trong khi được tuân thủ rộng rãi, có đủ tính linh hoạt để (1) bạn không bị cách ly khỏi biến thể SQL trong RDBMS cơ bản và (2) vẫn có các tính năng dành riêng cho trình điều khiển DB mà khó có thể che giấu.
Một lớp ORM tốt khác là ORM là một phần của Django . Bạn có thể (với một chút nỗ lực) chỉ sử dụng Django ORM mà không cần sử dụng phần còn lại của khuôn khổ web Django.
Sử dụng Lớp ORM (SQLAlchemy hoặc SQLObject) tùy chọn cho DB-API.
Tại sao? Mô hình của bạn phải là một mô hình OO chắc chắn, rõ ràng, được tư duy tốt. Ánh xạ quan hệ nên đứng thứ hai sau mô hình đối tượng. SQLAlchemy làm cho đây là một cách tiếp cận hợp lý.
Một "Lớp trừu tượng DB" sẽ xảy ra trong quá trình bình thường của các sự kiện. Thật vậy, vì DB-API (như được sử dụng bởi SQLAlchemy), bạn đã đưa ra hai lớp trừu tượng:ORM và DB-API.