48
GitHub - encode/orm: An async ORM
source link: https://github.com/encode/orm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
ORM
IN PROGRESS
Seriously, it's in progress - we don't even have foreign key support in here yet. But it's a nice start.
Note: Use ipython
to try this from the console, since it supports await
.
import databases import orm import sqlalchemy database = databases.Database("sqlite:///db.sqlite") metadata = sqlalchemy.MetaData() class Note(orm.Model): __tablename__ = "notes" __database__ = database __metadata__ = metadata id = orm.Integer(primary_key=True) text = orm.String(max_length=100) completed = orm.Boolean(default=False) # Create the database engine = sqlalchemy.create_engine(str(database.url)) metadata.create_all(engine) # .create() await Note.objects.create(text="Buy the groceries.", completed=False) await Note.objects.create(text="Call Mum.", completed=True) await Note.objects.create(text="Send invoices.", completed=True) # .all() notes = await Note.objects.all() # .filter() notes = await Note.objects.filter(completed=True).all() # exact, iexact, contains, icontains, lt, lte, gt, gte, in notes = await Note.objects.filter(text__icontains="mum").all() # .get() note = await Note.objects.get(id=1) # .update() await note.update(completed=True) # .delete() await note.delete()
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK