Skip to main content

Converts HTTP URL query string parameters to flask_sqlalchemy query results

Project description

Description

A simple decorator to speed up development using flask_sqlalchemy, place the decorator pass the model and done! it works!

Usage/Examples

Place the @filter_query passing the model as argument and enjoy!

Usage example on users endpoint with Users model:

@users.route('/users', methods=["GET"])
@filter_query(Users)
def get_users(*args, **kwargs):
    return make_response(jsonify(kwargs.get('data')), total=kwargs.get('total')), 200)

then you can make a http request passing arguments:

curl --location 'http://127.0.0.1:5000/users?email__like__=%gabriel%&id__eq__=2

response example:

{
    "data": [
        {
            "email": "gabriel.ligoski@gmail.com",
            "id": 2,
            "username": "ligoski"
        }
    ],
    "total": 1
}

currently supported filters:

  • gte
    • Example: curl --location 'http://127.0.0.1:5000/users?id__gte__=2
  • gt
    • Example: curl --location 'http://127.0.0.1:5000/users?id__gt__=2
  • lte
    • Example: curl --location 'http://127.0.0.1:5000/users?id__lte__=2
  • lt
    • Example: curl --location 'http://127.0.0.1:5000/users?id__lt__=2
  • like
    • Example: curl --location 'http://127.0.0.1:5000/users?email__like__=%gabriel%
  • in
    • Example: curl --location 'http://127.0.0.1:5000/users?email__in__=gabriel.ligoski@gmail.com,admin@gmail.com,teste@hotmail.com
  • eq
    • Example: curl --location 'http://127.0.0.1:5000/users?id__eq__=2

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flask_sqlalchemy_magic_query-0.1.3.1.tar.gz (3.7 kB view details)

Uploaded Source

File details

Details for the file flask_sqlalchemy_magic_query-0.1.3.1.tar.gz.

File metadata

File hashes

Hashes for flask_sqlalchemy_magic_query-0.1.3.1.tar.gz
Algorithm Hash digest
SHA256 f63e5a3a67987fb545b78af33194cb9846bd21a63d375c5cf721ffbb963b8987
MD5 aee08a0bd96abc9fcf789e1c9e8192f6
BLAKE2b-256 4d4ce9cb2f46c50741d5df37bca6251838383b9925a6c4d5ff05b4f0870ce576

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page