Skip to content


Switch branches/tags

Latest commit

* Upgraded selectRelated to work like in the current Django version. One can list the foreign keys to be loaded thus limiting the DB traverse

* Fixed issues for tests

* Removed unnecessary comments and added documentation. Changed pointer to reference argument for selectRelated function

* Added include

* Removed errnoeous Insert merge

* Added example usage

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

QDjango - a Qt-based C++ web framework
Copyright (c) 2010-2015 Jeremy Lainé

Build Status


QDjango is a web framework written in C++ and built on top of the Qt library. Where possible it tries to follow django's API, hence its name.

It is released under the terms of the GNU Lesser General Public License, version 2.1 or later.

To learn more about QDjango, please read the online documentation.


QDjango builds and is auto-tested both with Qt 4 and Qt 5.

Qt 4 on Debian:

sudo apt-get install libqt4-dev

Qt 5 on Debian:

sudo apt-get install qtbase5-dev

Qt 4 on Mac OS X:

sudo port install qt4-mac

Building QDjango

mkdir build
cd build
qmake ..

You can pass the following arguments to qmake:

PREFIX=<prefix>                 to change the install prefix
                                    unix:  /usr/local on unix
                                    other: $$[QT_INSTALL_PREFIX]
QDJANGO_LIBRARY_TYPE=staticlib  to build a static version of QDjango

Mailing list

If you wish to discuss QDjango, you are welcome to join the QDjango group.



Fast forward cursors are used by default. This greatly improves performance, and has the added benefit of implicitly converting to a static cursor when it needs to. Unfortunately, this also means that these cursors can block a connection to the server. In order to deal properly with this situation, there are a few requirements:

  • Connection pooling must be enabled in your ODBC manager
  • You must enable Multiple Active Result Sets in the QODBC driver using "MARS_Connection=Yes" in the connection string
  • You must enable connection pooling in the QODBC driver using the "SQL_ATTR_CONNECTION_POOLING" attribute