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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|