Initial release: async repository layer over SQLModel
This commit is contained in:
18
metaorm/tables.py
Normal file
18
metaorm/tables.py
Normal 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
|
||||
}
|
||||
Reference in New Issue
Block a user