Initial release: async repository layer over SQLModel

This commit is contained in:
2026-08-13 22:25:59 +03:00
commit 3d85c2b5dd
26 changed files with 2252 additions and 0 deletions

18
metaorm/tables.py Normal file
View File

@@ -0,0 +1,18 @@
from typing import Any, Self
from pydantic import BaseModel
from sqlmodel import SQLModel
class BaseTable[ItemType: BaseModel](SQLModel):
@classmethod
def from_item(cls, item: ItemType) -> Self:
raise NotImplementedError
def to_item(self) -> ItemType:
raise NotImplementedError
def to_values(self) -> dict[str, Any]:
return {
column.name: getattr(self, column.name) for column in self.__table__.columns
}