a simple sanic middleware for aioorm
Project description
sanic-aioorm
===============================
version: 0.0.2
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``
Documentation
--------------------------------
`Documentation on Readthedocs <https://github.com/Sanic-Extensions/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.
Source Distribution
sanic-aioorm-0.0.2.tar.gz
(4.7 kB
view hashes)
Built Distribution
Close
Hashes for sanic_aioorm-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d8d835067bab4ef1e82cdba8fcbad5d9dc02da6b15a2586136016fcae71ff2b |
|
MD5 | 8245ec1cfe46dba88ab65f702286fd4c |
|
BLAKE2b-256 | 40072a328eba009d396052e6140f1f96efba927bb57780181162faa87c4cb999 |