Readme
This commit is contained in:
48
README.rst
Normal file
48
README.rst
Normal file
@@ -0,0 +1,48 @@
|
||||
SQL Query Builder based on django ORM
|
||||
=====================================
|
||||
|
||||
What's that?
|
||||
-----------
|
||||
|
||||
Is a library that you can use to build sql queries if your are accustomed to use Django ORM
|
||||
|
||||
|
||||
How to use
|
||||
----------
|
||||
|
||||
There are 3 main objects Q, QuerySet and SQLModel.
|
||||
|
||||
Using it
|
||||
---------------
|
||||
.. code-block:: python
|
||||
|
||||
from sqlbuilder import SQLModel, Queryset, Q
|
||||
|
||||
class Client(SQLModel):
|
||||
table = "clients"
|
||||
|
||||
|
||||
Client.objects.filter(name="Jhon").exclude(lastname="Doe").group_by("family")
|
||||
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
sql = Queryset("clients").filter(name="Jhon").exclude(lastname="Doe").group_by("family")
|
||||
|
||||
|
||||
sql = Client.objects.filter(Q(name="John") & ~Q(lastname="Doe"))
|
||||
|
||||
sql.group_by("family")
|
||||
|
||||
|
||||
qs = Queryset("users")\
|
||||
.filter(nombre="jose")\
|
||||
.order_by( "nombre", "-fecha")\
|
||||
.filter(fecha__lte=F("now()"))[:10]
|
||||
|
||||
"SELECT * FROM users WHERE ((nombre='jose') AND (fecha<=now())) ORDER BY nombre, fecha DESC LIMIT 10"
|
||||
|
||||
|
||||
str(sql) will result an string with the sql generated
|
||||
|
||||
|
||||
Reference in New Issue
Block a user