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.tar.gz (3.7 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for flask_sqlalchemy_magic_query-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d2e73851f0b33fa212b09e21d197e1082cf828561162bc358a4d26d69e1732e4
MD5 c9cfc6ccad4e0d1a99699f1581a8cf35
BLAKE2b-256 7061e7c2d41e3d8d45ee777ce999f46c431f03d3ed47d8a75a460a00e4c1f75d

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