An async ORM for DetaBase.
Project description
DetaORM
An async ORM for DetaBase.
Support | PyPI | Documentation
Example Usage
from __future__ import annotations
import asyncio
from detaorm import Client, Base, Field
class User(Base, name="users"):
username: Field[str] = Field()
nicknames: Field[list[str]] = Field(default=[])
async def main() -> None:
client = Client("<project key>", bases=[User])
await client.open()
new_user = User(username="CircuitSacul")
print(new_user) # > User({"username": "CircuitSacul"})
inserted_user = await new_user.insert()
print(inserted_user) # > User({"username": "CircuitSacul", "nicknames": []})
updated_user = await inserted_user.update(User.nicknames.append(["Circuit", "Sacul"]))
print(updated_user) # > User({"username": "CircuitSacul", "nicknames": ["Circuit", "Sacul"]})
page = await User.where(User.nicknames.contains("Sacul"), limit=1)
print(page.items[0]) # > User({"username": "CircuitSacul", "nicknames": ["Circuit", "Sacul"]})
if __name__ == "__main__":
asyncio.run(main())
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
detaorm-0.4.1.tar.gz
(8.9 kB
view hashes)
Built Distribution
detaorm-0.4.1-py3-none-any.whl
(11.5 kB
view hashes)