/django-query-builder

Build complex queries for Django

Primary LanguagePythonMIT LicenseMIT

https://travis-ci.org/ambitioninc/django-query-builder.png https://coveralls.io/repos/ambitioninc/django-query-builder/badge.png?branch=develop Latest PyPI version https://pypip.in/d/django-query-builder/badge.png

django-query-builder

querybuilder is a django library for assisting with the construction and execution of sql. This is not meant to replace django querysets; it is meant for managing complex queries and helping perform database operations that django doesn't handle.

Why use querybuilder?

The django querybuilder allows you to control all parts of the query construction. This is happens more clearly because the function calls more closely represent the actual sql keywords.

Why not just use django's .raw() function?

While the raw function lets you execute custom sql, it doesn't provide any way for the developer to build the query dynamically. Users lacking experience writing "raw" sql should avoid using querybuilder and stick with django's querysets. The querybuilder's query construction closely mirrors writing sql, where django querysets simplify the sql generation process for simple queries.

Requirements

  • Python 3.8 - 3.9
  • Django 2.2 - 4.1
  • Postgres 9.3+

Installation

To install the latest release, type:

pip install django-query-builder

To install the latest code directly from source, type:

pip install git+git://github.com/ambitioninc/django-query-builder.git

Documentation

Full documentation is available at http://django-query-builder.readthedocs.org

License

MIT License (see LICENSE)