https://github.com/messense/flask-djangoquery
DjangoQuery extension for Flask-SQLAlchemy
https://github.com/messense/flask-djangoquery
Last synced: 3 months ago
JSON representation
DjangoQuery extension for Flask-SQLAlchemy
- Host: GitHub
- URL: https://github.com/messense/flask-djangoquery
- Owner: messense
- Created: 2014-03-31T06:56:39.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2014-09-10T12:57:46.000Z (over 11 years ago)
- Last Synced: 2025-04-23T02:14:59.650Z (about 1 year ago)
- Language: Python
- Homepage:
- Size: 203 KB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Flask-DjangoQuery
=================
A module that implements a more Django like interface for Flask-SQLAlchemy query objects. It's still API compatible with the regular one but extends it with Djangoisms.
## Installation
Install Flask-DjangoQuery with pip:
$ [sudo] pip install Flask-DjangoQuery
Install Flask-DjangoQuery with easy_install:
$ [sudo] easy_install Flask-DjangoQuery
Or you can clone or download it then:
```bash
cd Flask-DjangoQuery
python setup.py install
```
## Usage
```python
from flask import Flask
from flask.ext.djangoquery import SQLAlchemy
app = Flask(__name__)
db = SQLAlchemy()
db.init_app(app)
```
Then you can use it just like [Flask-SQLAlchemy](https://github.com/mitsuhiko/flask-sqlalchemy) while have a more *Django like* `filter_by`, `exclude_by` and `order_by` interface.
### Define a model
```python
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
pub_date = db.Column(db.Datetime)
title = db.Column(db.String(50))
```
## Example queries
```python
Post.query.filter_by(pub_date__year=2008)
Post.query.exclude_by(id=42)
Post.query.filter_by(title__contains='something')
Post.query.order_by('-post__pub_date')
```
For more please view the codes of [flask_djangoquery.py](flask_djangoquery.py)