Skip to main content

a simple sanic middleware for aioorm

Project description


sanic-aioorm
===============================

version: 0.0.3

author: hsz

email: hsz1273327@gmail.com

Feature
----------------------
* simple to use, just like using flask's extension
* design to take the place of sanic-peewee
Example
-------------------------------


model.py


.. code:: python

from sanic_aioorm import AioOrm, AioModel
from peewee import Proxy, CharField
db = Proxy()

@AioOrm.regist
class User(AioModel):
username = CharField()
class Meta:
database = db



app.py


.. code:: python


from sanic import Sanic
from sanic.response import json
from sanic_aioorm import AioOrm
from ex_model import User, db
app = Sanic()
AioOrm.SetConfig(app, defaultdb="mysql://root:hsz881224@localhost:3306/test")
orm = AioOrm(app)
orm.init_proxys(defaultdb=db)
orm.create_tables(User=[{'username': "hsz"}, {'username': "jojo"}])

@app.get("/")
async def testget(request):
try:
users = await User.select()
except Exception as e:
return json({"error": str(e)})
else:
return json({"hello": [await u.to_dict() for u in users]})

@app.post("/")
async def testpost(request):
try:
users = await User.create(request.json)
except Exception as e:
return json({"error": str(e)})
else:
return json({"hello": [u.to_dict() for u in users]})

if __name__ == "__main__":
app.run(host="0.0.0.0", port=4500)



Install
--------------------------------

- ``python -m pip install sanic-aioorm``


Limitations
-----------
* only support mysql and pgsql

Project details


Download files

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

Files for sanic-aioorm, version 0.0.3
Filename, size File type Python version Upload date Hashes
Filename, size sanic_aioorm-0.0.3-py3-none-any.whl (6.8 kB) File type Wheel Python version 3.6 Upload date Hashes View hashes
Filename, size sanic-aioorm-0.0.3.tar.gz (4.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page