feat: llmmodels crud

This commit is contained in:
Junyan Qin
2025-03-16 22:07:09 +08:00
parent a89a20a374
commit 47d8358272
5 changed files with 92 additions and 20 deletions
+7
View File
@@ -2,6 +2,7 @@ from __future__ import annotations
import asyncio
import datetime
import typing
import sqlalchemy.ext.asyncio as sqlalchemy_asyncio
import sqlalchemy
@@ -55,3 +56,9 @@ class PersistenceManager:
def get_db_engine(self) -> sqlalchemy_asyncio.AsyncEngine:
return self.db.get_engine()
def serialize_model(self, model: typing.Type[sqlalchemy.Base], data: sqlalchemy.Base) -> dict:
return {
column.name: getattr(data, column.name) if not isinstance(getattr(data, column.name), (datetime.datetime)) else getattr(data, column.name).isoformat()
for column in model.__table__.columns
}