Primero: Sería bueno que describas que base de datos usas, sqlite, postgre, mysql...
Es necesario que tengas los modulos necesarios para esa base de datos. Sqlite es nativo en python, para mysql y posgre hay paquetes apartes:
Mysql:
http://pypi.python.org/pypi/MySQL-python/ , si necesitas el paquete para python 3 se puede compilar, hay un post en el foro de sourceforge.
Postgre:
http://initd.org/psycopg/los ultimos 2 cumplen con la api 2.0 de base de datos
http://www.python.org/dev/peps/pep-0249/Si queres hacer un programa que utilice un ORM para que sirva para diferentes bases de datos:
http://www.sqlalchemy.org/La ventaja de trabajar con un ORM es que tu sistema puede trabajar tanto con Mysql, Postgre o sqlite mientras que las bases de datos y las clases esten correctamente diseñadas. La desventaja (no se la influencia en python, esto es según mi experiencia en php) es que usualmente perdemos algo de perfomance.
SQLalchemy es mas que un ORM, pero eso se explica en la web

.
Si no estoy errado, con PyQT también podes conectarte a varias bases de datos.
Espero que sirva