django-query-parser
A django app to parse queries written outside the django app.
Idea
Some queries are controls the business case, so it will be benefical if they are can saved outside the application like in a config file or a database so the logic can be changed without changing the code.
Samples
- to write an 'or'
{"or":{"status_id" : 3, "name__icontains":"Ahmed"}}
- to write negation
{"or":{"status_id" : 3, "~name__icontains":"Ahmed"}}
- to write an 'and'
{"and":{"status_id" : 3, "name__icontains":"Ahmed"}}
or{"status_id" : 3, "name__icontains":"Ahmed"}
Installation
pip install django-query-parser
Example
from test_app
from query_parser.Parser import Parse
d = {"or": {
"status": "Completed",
"ordered_by_id": 2
}}
res = Parse(d)
print(Order.objects.filter(res).count())
Operation Supported
- AND
- OR
- NOT: with a '~' in field name
example
d = {"status": "Completed", "~ordered_by_id": 1}
Metadata
Release files for django-query-parser 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| django-query-parser-0.0.3.tar.gz | 2.5 kB | Details |
Release files / django-query-parser-0.0.3.tar.gz
| Download URL | django-query-parser-0.0.3.tar.gz |
|---|---|
| Size | 2.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a7f32aa83999e9e1f6ab796715de69517dc5d0a7acf93eba81dfac15ba1d540
|
|
BLAKE2b-256 checksum How to use checksums |
32e3625d1c5ad47386183bbd1ab1f87d78fa970b1038f4d6d764fa293aef79ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.15.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/2.7.17
|