A very simple CRUD class for SQLModel! :sparkles:
Project description
basesqlmodel
A very simple CRUD class for SQLModel! :sparkles:
Installation
pip install basesqlmodel
Usage
import asyncio
from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import sessionmaker
from sqlmodel import Field
from basesqlmodel import Base
engine = create_async_engine("sqlite+aiosqlite:///:memory:")
SessionLocal = sessionmaker(engine, expire_on_commit=False, class_=AsyncSession)
class Potato(Base, table=True):
id: int = Field(primary_key=True)
name: str
async def main():
# Create tables
async with engine.begin() as conn:
await conn.run_sync(Base.metadata.create_all)
# Interact with the Potato table
async with SessionLocal() as session:
obj = await Potato.create(session, name="Potato")
print(f"Potato created: {repr(obj)}")
obj = await Potato.get(session, name="Potato")
print(f"Potato retrieved: {repr(obj)}")
await obj.update(session, name="Fake Potato")
print(f"Potato updated: {repr(obj)}")
await Potato.delete(session, name="Fake Potato")
print(f"Potato deleted: {repr(obj)}")
objs = await Potato.get_multi(session)
print(f"Confirm that the database is empty: {objs}")
asyncio.run(main())
License
This project is licensed under the terms of the MIT license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
basesqlmodel-0.1.0.tar.gz
(4.1 kB
view details)
Built Distribution
File details
Details for the file basesqlmodel-0.1.0.tar.gz
.
File metadata
- Download URL: basesqlmodel-0.1.0.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.9.7 Linux/5.11.0-34-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9ae90978d0f78019007f3ba4de890c5abe3a4defc5720ab4066606ae74fdb4b |
|
MD5 | c249a90559b152e60b3de08ba7213722 |
|
BLAKE2b-256 | db75538c05ed7564b3e63749738491e7330373f5dc48990903a6adafcae1484c |
File details
Details for the file basesqlmodel-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: basesqlmodel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 4.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.8 CPython/3.9.7 Linux/5.11.0-34-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c85b9a66d769b1e8e4fe96eed93f0d81e985643cdcf955eaf25aee5fa5380ee3 |
|
MD5 | 08ac4900a109dc3f1ad40008b42b5729 |
|
BLAKE2b-256 | 9cf99c46c7f60f77ee5f8ecb14f8d60e75fef9fd16272248db33dee637149869 |